1. 程式人生 > >基於kubernetes構建Docker集群環境實戰

基於kubernetes構建Docker集群環境實戰

基於kubernetes構建Docker

kubernetes是google公司基於docker所做的一個分布式集群,有以下主件組成

  etcd: 高可用存儲共享配置和服務發現,作為與minion機器上的flannel配套使用,作用是使每臺 minion上運行的docker擁有不同的ip段,最終目的是使不同minion上正在運行的docker containner都有一個與別的任意一個containner(別的minion上運行的docker containner)不一樣的IP地址。

  flannel: 網絡結構支持

  kube-apiserver: 不論通過kubectl還是使用remote api 直接控制,都要經過apiserver

  kube-controller-manager: 對replication controller, endpoints controller, namespace controller, and serviceaccounts controller的循環控制,與kube-apiserver交互,保證這些controller工作

  kube-scheduler: Kubernetes scheduler的作用就是根據特定的調度算法將pod調度到指定的工作節點(minion)上,這一過程也叫綁定(bind)

  kubelet: Kubelet運行在Kubernetes Minion Node上. 它是container agent的邏輯繼任者

  kube-proxy: kube-proxy是kubernetes 裏運行在minion節點上的一個組件, 它起的作用是一個服務代理的角色

圖為GIT+Jenkins+Kubernetes+Docker+Etcd+confd+Nginx+Glusterfs架構


基於kubernetes構建Docker集群環境實戰