kubernetes集群的部署和运行模型分为3种:

二进制程序部署

二进制程序:Master和Worker节点上的所有组件,都需要rpm包或者二进制程序文件手动部署管理。

Pod模式运行

Pod:以Pod模式运行的kubernetes又分为2类:

  • Static Pod:静态pod,kubelet和docker都以守护进程进行运行,而其余的组件都运行为静态Pod,而这些Pod不受控制器管理,而是由kubelet直接管理。kubelet监视着宿主机上的某个目录中应用的manifest是否存在,如果存在则将其创建起来,并实时监控,一旦发现某个pod不存在了会将应用其清单再再次将其创建出来。这种称之为静态pod。
  • Master静态pod:kube-apiserver、kube-scheduler、kube-controller-manager、cni、etcd、kube-proxy
  • Worker静态pod:kube-proxy、cni
  • Pod:除开静态pod的其他组件都由controller-manager管控而非kubelet直接管控。
  • 受controller-manager管控pod:Metrics-Server、Dashboard、CoreDNS、EFK、Prometheus、Ingress-controller

KAAS模式运行

kaas:将所有的Master组件和Worker组件都运行为受controller-manager管控的pod。用户只需要将需要创建k8s的Master节点数量和Worker节点数量发送给相应的API接口即可以拉起一个k8s集群。这种部署的方式一般出现在公有云供应商。费用较高。