Kubernetes 组件

Kubernetes 组件

主组件

主组件为集群提供控制平面。主组件做出关于集群的全局决策(比如调度),以及检测和相应集群的事件(当副本控制器的副本不满足条件时,创建一个新的pod)

主组件可以在集群上的任何设备中运行,然而,为简单起见,通常会设置脚本启动一台设备上的所有主组件,并且不会在这台设备上运行任何用户容器

kube-apiserver
Kubernetes API是主服务暴露出来的组件。它是一个前端的Kubernetes控制平面。它被设计为水平扩展型——也就是说,它是通过部署更多的实例来进行扩展

etcd
使用一致且高可用的键值存储作为Kubernetes的所有集群数据的备用存储。

kube-scheduler
主服务器上的组件,用于监视未创建节点的新创建pod,并选择一个节点供其运行。调度决策所考虑的因素包括个人和集体的资源需求,硬件、软件、策略约束,亲和性和反亲和性规范,数据位置,工作负载间干扰和截止日期。

kube-controller-manager
主服务器上运行控制器的组件。
逻辑上,每个控制器都是一个单独的进程,但是为了减少复杂性,它们集体被编译成一个二进制流作为一个进程。
这些控制器包括:

  • 节点控制器: 负责发现并响应节点故障
  • 复制控制器: 负责维护在系统中每个controller副本对象的pod的正确数量
  • 端点控制器:填充端点对象(添加services和pods)
  • token和服务帐户控制器:为新的命名空间创建默认账户和API访问令牌

cloud-controller-manager
cloud-controller-manager运行与底层云提供商交互的控制器。cloud-controller-manager仅运行特定于云提供程序的控制器循环。你只能在kube-controller-manager关闭这些控制器循环,可以在启动kube-controller-manager时,将 --cloud-provider标识设置成external。cloud-controller-manager允许云供应商代码和 Kubernetes核心代码互相独立的运行。

以下控制器具有云供应商程序依赖性:

  • 节点控制器:用来在云节点停止响应后,查看云供应商来判断该节点是否被删除。
  • 路径控制器:用来设置底层云基础架构的路径
  • 服务控制器:用来创建、升级、删除云供应商的负载均衡器
  • 存储控制器:用来创建、附加、装载卷,以及与云供应商交互来协调卷

Node组件

Node组件运行在每个节点上,维护运行中的节点并提供Kubernetes 的运行环境

kubelet
在集群中每个节点上运行的代理。它确保容器们在一个pod中运行。
kubelet采用多种机制提供的一系列PodSpecs,保证这些PodSpecs中的容器健康运行。kubelet 不能管理非Kubernetes创造的容器。

kube-proxy
kube-proxy通过维护在主机上的网络规则并执行连接转发来启用Kubernetes 的抽象服务

Container Runtime
Container Runtime是负责运行容器的软件。Kubernetes 支持多种Runtime:Docker, rkt, runc等

插件

插件是实现集群特性的pod和服务。这些pod可能被Deployments,复制控制器等管理。命名空间插件对象在kube-system的命名空间中被创建。
下面是一些常见插件

DNS
其它的插件可能不是被严格需要的,但是所有的Kubernetes集群都应该有DNS集群。DNS集群区别于其它DNS服务,是一个DNS服务器,负责提供Kubernetes服务的DNS记录。Kubernetes 启动的容器自动包括了DNS 服务。

Web UI(仪表盘)
仪表盘是用于Kubernetes 集群的,一般用途的,基于网页的用户界面。它允许用户管理运行在集群中的应用并解决发生的问题,也包括集群自身。

容器资源监控
容器资源监控将关于容器的通用时间序列指标记录在中央数据库中,并提供一个用户界面来浏览这些数据。

集群级日志
集群级日志机制负责将容器日志保存在一个带有搜索和浏览功能的中央日志存储中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值