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。
在规则特别多时,性能会下降