K8s组件学习笔记
|
分组 |
组件 |
作用 |
怎么部署 |
部署到哪 |
|
|
控制平面组件 (Control Plane) |
API Server |
集群的入口,是所有组件、运维工具的统一交互入口,负责认证鉴权、数据校验,是唯一能读写 etcd 的组件 |
kubeadm部署 |
仅 master 节点 |
|
|
etcd |
分布式键值存储,K8s 集群的数据库;持久化保存所有集群配置、资源状态、元数据,保证数据一致性与高可用 |
||||
|
Controller Manager |
运行各种控制器,确保集群状态与期望状态一致,持续监听集群状态,驱动当前状态向用户声明的期望状态收敛,是 K8s高可用性的核心。 |
||||
|
Scheduler |
集群调度器,结合资源余量、亲和性、污点容忍等策略,将 Pod 调度到最合适的工作节点 |
||||
|
工作节点组件 (Node Components) |
kube-proxy |
负责 Node 上的网络代理, 使用 Cilium 并开启 |
所有节点 |
||
|
kubelet |
与 API Server 通信, 上报节点 / Pod 状态和接收执行任务 管理 Pod 全生命周期, 调用 containerd 创建 / 销毁容器、挂载存储卷、执行 Pod 健康检查 调用 CNI 插件为 Pod 配置网络 |
手动dnf部署 |
|||
|
Containerd(容器运行时) |
是 K8s 替代传统 Docker,运行容器的底层引擎 是kubelet 的底层依赖,kubelet 不直接操作容器,所有容器相关操作都委托给 containerd,管理Pod 全生命周期 |
||||
|
其他常见附加组件 (Add-ons) |
CoreDNS |
集群内部 DNS 解析 |
kubeadm部署 |
按规则调度到任意节点,默认 2 副本 |
|
|
Dashboard(UI) |
官方 Web 可视化管理面板:提供图形化界面替代部分 kubectl 命令,降低集群操作门槛。 |
|
可指定节点部署,不指定按规则调度 |
||
|
Metrics Server |
集群资源指标聚合器:采集并聚合全集群节点与 Pod 的 CPU、内存使用率指标,是集群自动扩缩容HPA与资源监控的基础组件。 |
||||
|
Ingress Controller |
(相当于K8s集群的nginx)七层反向代理, 负载均衡和通用网关能力,可用于服务发布 |
||||
|
CNI (网络插件) |
Flannel |
用于为 Pod 分配 IP 地址并实现集群网络通信 |
所有节点 |
||
|
Calico |
|||||
|
Cilium |
|||||
|
客户端运维工具 |
kubeadm |
官方标准化集群部署和初始化工具:将 K8s 集群的复杂搭建流程标准化、自动化,是生产环境部署集群的官方推荐方式。 |
手动dnf部署 |
按需安装,一般仅 master 节点 |
|
|
kubectl |
官方命令行客户端:是运维人员操作 K8s 集群最核心的工具,所有集群操作都通过 kubectl 调用 API Server 完成。 |
||||
|
helm |
是Kubernetes的包管理工具,用于简化Kubernetes应用的生命周期管理(安装、升级、回滚、依赖处理)和模板化部署。 |
下载二进制包解压到 |
|||
|
k9s |
是Kubernetes的交互式终端UI,让用户通过键盘快捷键快速浏览、操作集群资源,替代部分kubectl命令,提升效率。 |
||||
- 点赞
- 收藏
- 关注作者
评论(0)