文章目录
今天我们进行k8s第二更,kubernetes集群架构和三个核心概念。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/26263481c6a7ca60bc6d733bac4a9bfe.png)
1. kubernetes集群架构
kubernetes包含主控节点和工作节点,集群架构如图所示:
1.1 主控节点(Master)
k8s集群控制节点,对集群进行调度管理。主要包含四个组件。
API Service
集群统一入口,以restful风格的方式请求。数据存储在etcd中。
比如根据用户的请求要部署一个应用,首先要经过API Service,然后根据具体要求做相应的处理。相当于协调者的作用。
Scheduler
节点调度,选择node节点进行应用部署。
好比公交调度站,根据某一时间车辆情况进行安排调度。Scheduler根据node节点应用部署情况,选择相应的节点进行应用部署。
Controller MangerServer
处理集群中常规的后台工作任务。一般一个资源对应一个controller。
比如一个项目中有好多功能,购物车,订单等等。那么这些购物车或者订单的资源分别对应一个controller。专事专干,统一管理。
etcd
存储系统,用于保存集群中的相关数据。
主控节点中的每一个组件都相当于管理者的角色,对应用部署做出相应的处理。
1.2 工作节点(node)
接受集群外用户去集群操作请求。主要包含两个组件。
Kubelet
节点中的管理者,相当于由Master派到node节点的代表。管理本机容器的各种操作,比如容器生命周期,容器创建,销毁等等。
Kube-proxy
提供网络代理,负载均衡等操作。
2. kubernetes核心概念
2.1 Pod
- 最小的部署单元
- 一组容器的集合
- 共享网络
- 生命周期是短暂的
如果container A监听80端口,那么B和C同样能接收80端口的请求。好比一个pod的容器相当于在一台服务器上的应用,可以使用localhost访问。
一个pod被重新部署,生命周期结束,会形成一个新的pod。
2.2 Controller
主要作用的创建pod
- 确保预期的pod副本数
- 无状态部署、有状态部署
- 确保所有的node运行同一个pod
- 一次性任务和定时任务
副本数:运行的pod的数量。
无状态部署:资源使用条件较低,可以在多个node节点使用。有状态部署:有一定的部署条件,比如ip唯一等。
在一个节点上的pod1和pod2…是相同的。
2.3 Service
- 定义一组pod的访问规则。
好比订单和购物车,Service根据pod负载能力等规则转发到不同的pod进行处理。
3. 总结
在实际的工作中,我们可以将上面说的几个概念再进行细化。
Pod
一个pod相当于一台服务器,比如我部署了两个pod,相当于物理机的两台服务器对外提供服务。
统一入口
API Service:针对于运维端的统一入口,进行容器部署等工作。
Service:针对于用户端的统一入口,比如发送请求,处理业务等。
控制器
Controller MangerServer:处理集群中常规的后台工作任务,针对于主控节点。
Service:针对于用户端的统一入口,比如发送请求,处理业务等。
微信公众号先已开通,搜索 “江小南和他的小伙伴们” 就能找到我哦,各位小伙伴们可以关注一下,后面文章会进行同步更新,方便查看哦。