






















k8s集群节点分为Master节点和Node节点。Master节点又被称为control plane,中文翻译为控制平面,Node节点又被称为数据面。
Master节点有4个组成部分:
kube-apiserver,集群唯一入口,提供REST API,负责认证、鉴权、准入控制。
kube-scheduler,根据资源情况和调度策略将Pod调度到合适的Node。
kube-controller-manager,运行各种控制器(Deployment、StatefulSet、DaemonSet等),通过控制循环保证系统达到期望状态。
etcd,分布式kv存储,存储集群所有元数据和状态。
在master节点,通过ps命令可以查看到这些进程。
Node节点有2个组成部分:
kubelet,Node上的agent,负责管理Pod生命周期。
kube-proxy,实现Service网络转发,提供负载均衡能力。
Container Runtime,负责真正运行容器(如containerd)。
在node节点,通过ps命令可以查看到这些进程。
Pod
Pod是最小的部署单元,一个Pod包含多个容器,这些容器共享网络和存储。每个Pod都是应用的一个实例,有专用的IP。每个Pod都包含一个特殊的基础设施容器(Pause容器,也被称为sandbox容器),它负责维护Pod的网络和namespace。除Pause容器外,Pod中还包含一个或多个业务容器,这些容器共享Pause容器的网络等资源。
同一个Pod中的容器总会被调度到相同的节点上,不同节点间的Pod的通信基于虚拟二层网络技术实现。
Controller
负责创建Pod。
Service
Service是将一组Pod公开为网络服务的方法。有4种类型:
ClusterIP:集群内访问
NodePort
LoadBalancer:利用云厂商的负载均衡器公开服务,适用于生产环境公网访问服务。
ExternalName:适用于在集群内访问外部服务。
Deployment
Deployment是一种高级控制器,用于管理无状态应用程序的部署、更新和扩展。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。