Kubernetes的主要组件概述

本文详细介绍了Kubernetes的主要组件,包括API Server(集群管理、资源配额、安全机制)、Controller Manager(Replication Controller、Node Controller等)、Scheduler、kubelet、kube-proxy和Etcd。API Server作为核心组件,连接了Etcd和其它组件;Controller Manager确保副本数、节点监控和资源配额;Scheduler负责Pod调度。同时,文章提出了一个问题:直接修改Etcd中Deployment的replicas值不会影响实际Pod数量。
摘要由CSDN通过智能技术生成

概述

本文试图用简单的语言描述Kubernetes主要组件的作用及其关系。这里我讲解的Kubernetes主要组件有API Server、Controller Manager、Scheduler、kubelet、kube-proxy,其中前三者运行于集群的Master节点,后两者运行于集群的Slave节点。接着描述了一下用于存储Kubernetes集群信息的Etcd,它是一个高可用、强一致性的服务发现存储仓库。最后,我抛出了一个我所遇到的一个问题。大家可以一同思考一下问题出在了哪里。

API Server

Kubernetes API Server通过kube-apiserver进程提供服务,该进程运行于Master节点上。

API Server是Kubernetes的核心组件,是各个组件通信的渠道,有如下特性:

1.集群管理的API入口

我们如果要创建一个资源对象如Deployment、Service、RC、ConfigMap等,都是要通过API Server的。

当然,我们可能是通过命令行的kubectl命令将一个yaml/json格式的文件create进行创建,还可能是通过写代码的方式使用如client-go这样的操作Kubernetes的第三方包来操作集群。总之,最终,都是通过API Server对集群进行操作的。通过API Server,我们就可以往Etcd中写入数据。Etcd中存储着集群的各种数据。
这里写图片描述

2.资源配额控制的入口

Kubernetes可以从各个层级对资源进行配额控制。如容器的CPU使用量、Pod的CPU使用量、namespace的资源数量等。这也是通过API Server进行配置的。将这些资源配额情况写入到Etcd中。

3.提供了完备的集群安全机制

Controller Manager

Replication Controller

副本控制器。用来保证Deployment或者RC中副本的数量的。

Node Controller

通过API Server监控Etcd中存储的关于节点的各类信息,这些信息是kubelet定时推给API Server的,由API Server写入到Etcd中。这些节点信息包括:节点健康状况、节点资源、节点名称、节

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值