Kubernetes组件

Kubernetes组件

 

 kubernetes从节点种类分为:master和node两类节点。

master节点组件:kube-apiserver、etcd、kube-scheduler、kube-controller-manager

node节点组件:kubelet、kube-proxy、容器运行时

控制平面组件(Control Plane Components)

kube-apiserver

kube-apiserver公开了kubernetes API,是kubernetes集群控制面的前端。

kube-apiserver设计上考虑了水平伸缩,你可以运行多个kube-apiserver实例,并在这些实例间实现负载均衡。

etcd

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

您的 Kubernetes 集群的 etcd 数据库通常需要有个备份计划。

kube-scheduler

该组件监视那些新创建的未指定运行节点的 Pod,并选择节点让 Pod 在上面运行。

调度决策考虑的因素包括单个 Pod 和 Pod 集合的资源需求、硬件/软件/策略约束、亲和性和反亲和性规范、数据位置、工作负载间的干扰和最后时限。

kube-controller-manager

从逻辑上讲,每个控制器都是一个单独的进程。为了降低复杂性,他们都被编译到同一个可执行文件,并在一个进程中运行。

这些控制器包括:

        节点控制器(Node Controller): 负责在节点出现故障时进行通知和响应。

        副本控制器(Replication Controller): 负责为系统中的每个副本控制器对象维护正确数量的 Pod。

        端点控制器(Endpoints Controller): 填充端点(Endpoints)对象(即加入 Service 与 Pod)。

        服务帐户和令牌控制器(Service Account & Token Controllers): 为新的命名空间创建默认帐户和 API 访问令牌.

Node组件

kubelet

一个在集群中每个节点上运行的代理。 它保证容器都运行在 Pod 中。

kubelet 接收一组通过各类机制提供给它的 PodSpecs,确保这些 PodSpecs 中描述的容器处于运行状态且健康。 kubelet 不会管理不是由 Kubernetes 创建的容器。

kube-proxy

kube-proxy是集群中每个节点上运行的网络代理, 实现 Kubernetes 服务(Service)概念的一部分。

kube-proxy 维护节点上的网络规则。这些网络规则允许从集群内部或外部的网络会话与 Pod 进行网络通信。

如果操作系统提供了数据包过滤层并可用的话,kube-proxy 会通过它来实现网络规则。否则, kube-proxy 仅转发流量本身。

容器运行时(Container Runtime)

容器运行环境是负责运行容器的软件。

Kubernetes 支持多个容器运行环境: Docker、 containerdCRI-O 以及任何实现 Kubernetes CRI (容器运行环境接口)

插件(Addons)

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

下面描述众多插件中的几种。有关可用插件的完整列表,请参见 插件(Addons)

 

参考文档

Kubernetes 组件 | Kubernetesicon-default.png?t=L892https://v1-19.docs.kubernetes.io/zh/docs/concepts/overview/components/#control-plane-components

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值