ToB企服应用市场:ToB评测及商务社交产业平台

标题: Kubernetes-组件 [打印本页]

作者: 钜形不锈钢水箱    时间: 2022-9-16 17:19
标题: Kubernetes-组件
Kubernetes 组件

Kubernetes 集群组件图


控制平面组件(Control Plane Components)

控制平面组件会为集群做出全局决策,比如资源的调度,以及检测和响应集群事件。
控制平面组件可以在集群中的任何节点上运行。在实际使用中,通常会在同一个计算机上启动所有控制平面组件,并且不会在此计算机上运行用户容器。
kube-apiserver

apiserver 是 Kubernetes 控制平面的组件,该组件负责公开了 Kubernetes API,负责处理接受请求的工作。apiserver 是 Kubernetes 控制平面的前端。
Kubernetes apiserver 的主要实现是 kube-apiserver。kube-apiserver 设计上考虑了水平扩缩,也就是说,它可通过部署多个实例来进行扩缩。你可以运行 kube-apiserver 的多个实例,并在这些实例之间平衡流量。
etcd

etcd 是兼顾一致性与高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。
kube-scheduler

kube-scheduler 是控制平面的组件,负责监视新创建的、未指定运行节点(node)的 Pods,并选择节点来让 Pod 在上面运行。
调度决策考虑的因素包括单个 Pod 及 Pods 集合的资源需求、软硬件及策略约束、亲和性及反亲和性规范、数据位置、工作负载间的干扰及最后时限。
kube-controller-manager

kube-controller-manager 是控制平面的组件,负责运行控制器进程。
控制器包括:
cloud-controller-manager

cloud-controller-manager 是指嵌入特定云(例如亚马逊 aws,微软 azure 等)的控制逻辑之控制平面组件。cloud-controller-manager 允许你将你的集群连接到云提供商的 API 之上,并将与该云平台交互的组件同与你的集群交互的组件分离开来。
下面的控制器都包含对云平台驱动的依赖:
Node 组件

Node 组件会在每个节点上运行,负责维护运行的 Pod 并提供 Kubernetes 运行环境。
kubelet

kubelet 会在集群中每个节点(node)上运行。它保证容器(containers)都运行在 Pod 中。
kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中描述的容器处于运行状态且健康。kubelet 不会管理不是由 Kubernetes 创建的容器。
kube-proxy

kube-proxy 是集群中每个节点(node)所上运行的网络代理,实现 Kubernetes 服务(Service)概念的一部分。
kube-proxy 维护节点上的一些网络规则,这些网络规则会允许从集群内部或外部的网络会话与 Pod 进行网络通信。
容器运行时(Container Runtime)

容器运行环境是负责运行容器的软件。
Kubernetes 支持许多容器运行环境,例如 Docker、containerd、CRI-O 以及 Kubernetes CRI (容器运行环境接口) 的其他任何实现。
插件(Addons)

插件使用 Kubernetes 资源(DaemonSet、 Deployment 等)实现集群功能。因为这些插件提供集群级别的功能,插件中命名空间域的资源属于 kube-system 命名空间。
几种常用插件:
参考资料

思维导图


B站学习

从零开始学习k8s:k8s组件

抖音学习



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4