Kubernetes运行原理
信息存储(etcd)
管理控制平面Master
apiserver
controller-manager
scheduler
工作节点node
kubelet
kube-proxy
docker/rkt
数据存储
pvc
ceph,nfs
CNI插件(k8s中的网络管理)
flannel
calico等等
用户通过kubectl 发送各种操作信息,kubectl与api-server交互来把各种操作写到etcd ; controller-manager,scheduler 读取 etcd 来执行各种操作,保证集群中的信息与用户期望的一致。
scheduler负责pod的调度,通过集群中node的信息,pod的需求(亲和性,node污点,容忍,label,存储等),与调度算法相结合来选择合适的node节点,把pod调度过去。
各node上的kubelet负责创建pod , 和pod的生命周期管理。
访问kubernetes中的服务。
7层:一般通过ingress来做(当然还有其他做法)
这里选nginx-ingress来说,nginx-ingrss其实就是nginx+lua
访问www.ucsgroup.com ---dns解析到:58.10.10.199 ---->某个安装了nginx-ingress-controller的节点---> 通过查看ingrss规则www.ucsgroup.com ---> web svc -->通过内部的负责均衡算法调到后端的pod上