first commit
This commit is contained in:
commit
ba848e218d
1001 changed files with 152333 additions and 0 deletions
15
CloudNative/Kubernetes/Base/k8s调度过程与访问过程
Normal file
15
CloudNative/Kubernetes/Base/k8s调度过程与访问过程
Normal file
|
@ -0,0 +1,15 @@
|
|||
# 调度
|
||||
1、用户提交一个pod创建清单或变更清单(通过api)
|
||||
2、api会把数据写入etcd,scheduler通过api监听到etcd上的数据变化
|
||||
3、scheduler首先选择满足条件的node(各种亲和度,污点,资源等)
|
||||
4、scheduler在这些满足条件的node中,给各个node打分,最好的node会用于pod的创建运行(绑定node)
|
||||
5、kubelet通过api监听etcd,然后根据etcd中pod与node的绑定结果,在相应的node中创建node,维护生命周期
|
||||
|
||||
# 访问
|
||||
外部通过ingress或者service访问集群内部服务
|
||||
原理:service使用selector选择合适的pod标签,把内部服务暴露出去。创建service时自动生成一个同名的ep(endpoints)。ep上记录pod与ip对应关系。
|
||||
通过kube-proxy实现服务发现与负载均衡(iptables/ipvs)[headless service不使用]
|
||||
dns为每个service创建A记录(service名称与服务ip[clusterIP等])(headless service直接为在dns中配置service名称与各pod ip的记录)
|
||||
1、首先访问到与ingress匹配规则匹配到的service
|
||||
2、service通过dns查询到的service ip(或pod ip,headless service)
|
||||
3、通过负载均衡算法,访问到一个后端pod,该pod与之交互
|
Loading…
Add table
Add a link
Reference in a new issue