手把手教你建立容器服務Kubernetes叢集
Kubernetes作為目前最流行的容器編排工具,被越來越多的使用者所接受,目前也有越來越多的使用者開始考慮使用Kubernetes叢集來部署生產應用。那麼,此時使用者可能面臨一個問題,如何規劃和建立合適的Kubernetes叢集呢?
接下來的文章,我們會從如何規劃叢集以及選擇叢集的配置,來講述如何正確的建立叢集。
準備工作
在開始建立叢集之前,我們需要弄清楚幾個網段的概念以及之間的關聯。
-
VPC網段。目前VPC網路支援以下幾個網段
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
- 交換機網段。交換機網段是在VPC網路下劃分的更小的網路單元。可以根據實際的使用情況(主要包括期望的主機數量以及整體的網路規劃來確定劃分交換機以及網段)來劃分不同的交換機
-
Pod網段。Pod網段是指的該叢集內所有Pod所在的網段。Pod網段規劃需要從以下幾點考慮
- 避免和VPC網段衝突
-
叢集規模(主要是指的叢集最多容納多少節點),受Pod網段和節點Pod數影響。計算公式如下
2^(節點上Pod網段掩碼-Pod網段掩碼)
示例,例如我們叢集的Pod網段是 172.16.0.0/16,節點的pod數為128(此時節點上的Pod網段為 172.16.x.0/25)。因此該叢集最多容納的節點數為
2^(25-16) = 512
- 避免和Service網段衝突
-
Service網段。Service網段決定最終叢集能有多少服務可以通過ClusterIP方式暴露。可以根據叢集要部署的應用實際情況來定義。該網段有如下約束:
- 避免和VPC網段衝突
- 避免和Pod網段衝突
- 節點Pod數量。決定每個節點上最多可以容納多少個Pod,該引數反過來又影響叢集可以容納的節點總量。
建立叢集
在弄清楚叢集相關的網路關係以後,接下來我們開始建立叢集。由於叢集建立的引數較多,我們分塊來介紹
-
地域、VPC、付費型別選擇
備註:對於VPC,建議使用者提前規劃好網路,使用已有VPC的方式。這樣有利於未來考慮多叢集通訊或者混合部署等方式。
-
Master和Worker 例項規格和磁碟選擇
備註:Master的系統盤建議選擇較合適的大小,避免使用過程中由於系統盤佔滿導致Master節點出現異常。同時Worker節點推薦掛載資料盤
-
版本、網段、公網API Server選擇
備註:版本選擇可以根據業務特點以及版本間的差異進行選擇;Pod和Service的網段選擇尤為重要,這個決定了叢集可以容納的節點數和可以有多少個服務可以以ClusterIP方式暴露。
-
節點Pod數量
備註:可以根據Worker節點的配置以及業務的規劃選擇合適的節點Pod數,避免不必要的浪費。更重要的是Pod網段和節點Pod數一起決定了叢集節點的規模。具體計算公式見準備工作中的介紹
當完成以上步驟以及選擇以後,我們就可以創建出一個叢集。
總結
該文章的主要目的是幫助使用者理解叢集中相關的一些基本概念,以及叢集網路規劃的內容。來幫助使用者可以快速的掌握如何正確的建立叢集。避免當應用部署後出現由於規劃不當帶來的影響。