k8s学习记录,K8s控制节点Master和K8s计算节点Node概念(五)

文章中资料参考来源2022 云原生Kubernetes全栈架构师

Master节点:整个集群的控制中枢【资源给够或者预留足够的IP,主机名来进行扩容】

1、Kube-APIServer 集群的控制中枢,各个模块之间信息通信交互都需要经过Kube-APIServer,它也是集群管理、资源配额、整个集群的安全机制入口

2、Controller-Manager 集群的状态管理器,保证Pod或其他资源达到期望值,也是需要和Kube-APIServer通信,在需要的时候创建、更新或删除它所管理的资源

3、Scheduler:集群的调度中心,它会根据指定的一系列条件,选择一个或一批最佳的节点,部署我们的Pod

4、Etcd Cluster:必须使用SSD硬盘,键值数据库,性能强,保存一些集群的信息,一般生产环境建议部署3个以上节点【奇数个】

Node【Worker、minion】节点:工作节点

1、Kubelet:负责监听节点上Pod的状态,同时负责上报节点和节点上面Pod的状态,负责与Master节点通信,并管理节点上面的Pod

2、Kube-Proxy:负责Pod之间的通信和负载均衡,将指定的流量分发到后端正确的机器上【ipvs,iptables】

curl 127.0.0.1:10249/proxyMode

如果要修改kube-proxy的网络模式,那么就修改该服务的配置文件


3、ipvs: 监听Master节点,增加和删除service以及endpoint的消息,调用Netlink接口,创建相应的ipvs规则。通过ipvs规则将流量转发至相应的Pod上。

iptables: ipvs:监听Master节点,增加和删除service以及endpoint的消息,对于每一个service,他都会创建一个iptables规则,将service的cluster IP代理到后端对应的Pod。
在规则特别多时,性能会下降

4、calico: 符合CNI标准的网络插件,他会给每个Pod生成一个唯一的IP地址,并且把每个节点当作一个路由器。支持网络策略。Cilium eBPF

5、coreDNS: 用于kubetnetes集群内部service的解析,可以让Pod把service名称解析成IP地址,然后通过service的IP地址进行连接到对应的应用上。

posted @ 2021-05-10 20:54  Hei蛋炒饭  阅读(731)  评论(0编辑  收藏  举报