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上

 

 

 

 

posted @ 2020-04-06 14:34  零下三度-3°C  阅读(145)  评论(0编辑  收藏  举报