master/node
master: API Server. Scheduler, Controller-Manager
node: kubeler, docker, kube-proxy
Pod, Label, Label Selector
Label: key=value
Label Selector:
Pod :
自主式Pod
控制器管理的Pod
ReplicationController
ReplicaSer
Deployment
StatefulSet
DaemonSet
Job, Ctonjob
HPA:水平pod可自动伸缩控制器
HorizontalPodAutoscaler
自动发现:service
Pod 启动后会向servicer调度器上报pod的Label标签,然后调度器探测pod的IP和端口,完成调整端转发,其实service调度器就是利用iptables 的DNAT规则实现。
AddOns(附件):
DNS:动态改变,动态添加、动态删除。如果手动把service 名称或地址改变,就会自动触发DNS解析记录也改动
客户端访问service服务名到kubernetes集群内部DNS解析, 解析到service地址,然后service 代理转发给后端pod,这个的代理转发其实交给了IPVS 实现,也就每创建一个service 都会创建一条DNAT 的IPVS规则
NMT
controller
service
pod
DNS
kubernetes 三个网络:
node:节点网络
service: 集群网络
pod: pod网络
kubernetes三个网络.JPG
三位通信:
同一个Pod内的多个容器间通信:lo本地通信
各Pod之间的通信:网桥,Overlay Network叠加网络
Pod与Service之间的通信
CNI:
flannel: 支持网络配置,使用起来简单
calico: 支持网络配置,网络策略,使用起来负责
canel: 支持网络配置,网络策略,以上两者的结合
网友评论