Kubernetes架构

谁都会走 提交于 2020-01-04 23:36:13

Kubernetes集群包含节点代理kubelet和master组件,一切都基于分布式的存储系统。kubernetes集群的架构图如下:
Kubernetes架构

1)客户端工具

kubectl:客户端工具,用于发送客户端的指令。

2)master节点

API server:提供了资源的唯一入口,并提供了认证、授权、访问控制、API注册与发现等机制;

Scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

Controller manager:负责管理集群的资源并维护集群的状态,比如故障检测、自动扩展、滚动更新等;

Etcd:保存K8s集群的配置信息和各种资源的状态信息;

Flannel:是K8s跨节点的解决方案,主要用于跨节点的Pod通信;

3)node节点

kubelet:负责管理节点上所运行的Pod,相当于Pod的代理;

kube-Proxy:负责将访问service的TCP/UDP数据流转发到后端的Pod,起到负载均衡的效果;

Pod:k8s集群的最小组成单位。一个pod内,可以运行一个或多个容器(大多数情况下,一个pod内只有一个容器);

创建一个Pod的流程:
1)kubectl发送部署请求到API server;
2)API server通知controller manager创建一个deployment资源;
3)scheduler执行调度任务,将两个副本pod分发到node01和node02上;
4)node01和node02上的kubelet在各自节点上创建并运行pod;

详细解释,请参考Kubernetes设计架构

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!