深圳网站制作公司排名,宁波企业网站优化推广,上海民营企业500强,网站建设合同 法律声明k8s集群架构 一个Kubernetes集群至少包含一个控制平面(control plane)#xff0c;以及一个或多个工作节点(worker node)。控制平面(Control Plane) : 控制平面负责管理工作节点和维护集群状态。所有任务分配都来自于控制平面。工作节点(Worker Node) : 工作节点负责执行由控制…k8s集群架构 一个Kubernetes集群至少包含一个控制平面(control plane)以及一个或多个工作节点(worker node)。控制平面(Control Plane) : 控制平面负责管理工作节点和维护集群状态。所有任务分配都来自于控制平面。工作节点(Worker Node) : 工作节点负责执行由控制平面分配的请求任务,运行实际的应用和工作负载。
控制平面
控制平面组件会为集群做出全局决策比如资源的调度、检测和响应集群事件。 kube-apiserver
如果需要与Kubernetes 集群进行交互就要通过 API。 apiserver是 Kubernetes 控制平面的前端用于处理内部和外部请求。
kube-scheduler
集群状况是否良好如果需要创建新的容器要将它们放在哪里这些是调度程序需要关注的问题。 scheduler调度程序会考虑容器集的资源需求例如 CPU 或内存以及集群的运行状况。随后它会将容器集安排到适当的计算节点。
etcd
etcd是一个键值对数据库用于存储配置数据和集群状态信息。
kube-controller-manager
控制器负责实际运行集群controller-manager控制器管理器则是将多个控制器功能合而为一降低了程序的复杂性。
controller-manager包含了这些控制器 ● 节点控制器Node Controller负责在节点出现故障时进行通知和响应 ● 任务控制器Job Controller监测代表一次性任务的 Job 对象然后创建 Pods 来运行这些任务直至完成 ● 端点控制器Endpoints Controller填充端点Endpoints对象即加入 Service 与 Pod ● 服务帐户和令牌控制器Service Account Token Controllers为新的命名空间创建默认帐户和 API 访问令牌
node 组件
节点组件会在每个节点上运行负责维护运行的 Pod 并提供 Kubernetes 运行环境。 kubelet
kubelet 会在集群中每个节点node上运行。 它保证容器containers都运行在 Pod 中。 当控制平面需要在节点中执行某个操作时kubelet 就会执行该操作。
kube-proxy
kube-proxy 是集群中每个节点node上运行的网络代理是实现 Kubernetes 服务Service 概念的一部分。 kube-proxy 维护节点网络规则和转发流量实现从集群内部或外部的网络与 Pod 进行网络通信。
容器运行时Container Runtime
容器运行环境是负责运行容器的软件。 Kubernetes 支持许多容器运行环境例如 containerd、docker或者其他实现了 Kubernetes CRI (容器运行环境接口)的容器。
cloud-controller-manager
控制平面还包含一个可选组件cloud-controller-manager。 云控制器管理器Cloud Controller Manager允许你将你的集群连接到云提供商的 API 之上 并将与该云平台交互的组件同与你的集群交互的组件分离开来。 如果在自己的环境中运行 Kubernetes或者在本地计算机中运行学习环境 所部署的集群不需要有云控制器管理器。
相关概念
Maste
集群控制节点每个集群需要至少一个master节点负责集群的管控
Node
工作负载节点由master分配容器到这些node工作节点上然后node节点上的docker负责容器的运行
Pod
kubernetes的最小控制单元容器都是运行在pod中的一个pod中可以有1个或者多个容器
Controller
控制器通过它来实现对pod的管理比如启动pod、停止pod、伸缩pod的数量等等
Service
pod对外服务的统一入口下面可以维护者同一类的多个pod
Label
标签用于对pod进行分类同一类pod会拥有相同的标签
NameSpace
命名空间用来隔离pod的运行环境 参考资料
Kubernetes 组件 | Kubernetes
Kubernetes 架构入门指南一文带你看懂 K8s 架构