前提条件

  • 您需要開通Container Service、Resource Orchestration Service(ROS)服務和存取控制(RAM)服務。

    登入 Container Service管理主控台ROS 管理主控台RAM 管理主控台 開通相應的服務。

    说明 Container Service Kubernetes 叢集部署依賴阿里雲Resource Orchestration Service 的應用部署能力,所以建立 Kubernetes 叢集前,您需要開通 ROS。
  • 您需要先建立一個 VPC 並在該 VPC 中至少建立三個 VSwitch。為了達到高可用的效果,建議您將 VSwitch 建立在不同的可用性區域。
  • 你需要給VPC下的每個VSwtich都手動設定SNAT,否則VPC內執行個體不能正常訪問公網。

背景信息

您可以通過Container Service管理主控台建立包含不同可用性區域 ECS 執行個體的 Kubernetes 叢集從而實現高可用。

使用須知

建立叢集過程中,Container Service會進行如下操作:

  • 建立 ECS,組態管理節點到其他節點的 SSH 的公開金鑰登入,通過 CloudInit 安裝配置 Kubernetes 叢集。
  • 建立安全性群組,該安全性群組允許 VPC 入方向全部 ICMP 連接埠的訪問。
  • 建立 RAM 子帳號和 AK,該子帳號擁有 ECS 的查詢、執行個體建立和刪除的許可權,添加和刪除雲端硬碟的許可權,SLB 的全部許可權,Cloud Monitor的全部許可權,VPC 的全部許可權,Log Service的全部許可權,NAS 的全部許可權。Kubernetes 叢集會根據使用者部署的配置相應的動態建立 SLB,雲端硬碟,VPC路由規則。
  • 建立內網 SLB,暴露 6443 連接埠。
  • 建立公網 SLB,暴露 6443、8443和 22 連接埠(如果您在建立叢集時選擇開放公網 SSH 登入,會暴露 22 連接埠;如果選擇不開放公網 SSH 登入,則不會暴露 22 連接埠)。

使用限制

  • 隨叢集一同建立的Server Load Balancer執行個體只支援隨用隨付的方式。
  • Kubernetes 叢集僅支援專用網路 VPC。
  • 每個帳號預設可以建立的雲資源有一定的配額,如果超過配額建立叢集會失敗。請在建立叢集前確認您的配額。如果您需要提高您的配額,請提交工單申請。
    • 每個帳號預設最多可以建立 5 個叢集(所有地區下),每個叢集中最多可以添加 40 個節點。如果您需要建立更多的叢集或者節點,請提交工單申請。
    • 每個帳號預設最多可以建立 100 個安全性群組。
    • 每個帳號預設最多可以建立 60 個隨用隨付的Server Load Balancer執行個體。
  • ECS 執行個體使用限制:
    • 僅支援 CentOS 作業系統。
    • 僅支援建立隨用隨付的 ECS 執行個體。
      说明 執行個體建立後,您可以通過 ECS 管理主控台將隨用隨付轉預付費

操作步骤

  1. 登入 Container Service管理主控台
  2. 在 Kubernetes 菜單下, 單擊左側導覽列中的叢集,進入 Kubernetes 叢集列表頁面。單擊頁面右上方的建立Kubernetes 叢集
  3. 在建立Kubernetes叢集頁面,選擇多可用性區域Kubernetes


  4. 填寫叢集的名稱。

    叢集名稱應包含 1~63 個字元,可包含數字、漢字、英文字元或連字號(-)。

  5. 選擇叢集所在的地區。
  6. 選擇專用網路。
    在已有 VPC 列表中選擇一個 VPC 並在該 VPC 下選擇三個交換器。為了達到高可用的效果,建議您選擇位於不同可用性區域的交換器。


  7. 設定 Master 節點和 Worker 節點的配置資訊。

    您需要選擇 Master 節點和 Worker 節點的系列和規格,以及需要建立的 Worker 節點的數量。

    说明
    • 目前僅支援 CentOS 作業系統。
    • 目前僅支援建立 3 個 Master 節點。
    • 每個叢集最多可包含 37 個 Worker 節點。如果您需要建立更多節點,請提交工單申請。


  8. 配置登入方式。
    • 設定密鑰。
      您需要在建立叢集的時候選擇金鑰組登入方式,單擊 建立金鑰組,跳轉到ECS雲端服務器控制台,建立金鑰組,參見建立 SSH 金鑰對。金鑰組建立完畢後,設定該金鑰組作為登入叢集的憑據。


    • 設定密碼。
      • 登入密碼:設定節點的登入密碼。
      • 確認密碼:確認設定的節點登入密碼。
  9. 指定Pod 網路 CIDRService CIDR

    兩者都不能與 VPC 及 VPC 內已有 Kubernetes 叢集使用的網段重複,建立成功後不能修改。而且 Service 位址區段也不能和 Pod 位址區段重複,有關 kubernetes 網路位址區段規劃的資訊,請參考VPC下 Kubernetes 的網路位址區段規劃

  10. 設定是否開放公網 SSH 登入。
    • 選擇開放公網 SSH 登入,您可以 SSH 訪問叢集。
    • 選擇不開放公網 SSH 登入,將無法通過 SSH 訪問叢集,也無法通過 kubectl 串連 叢集。如果您需要通過 SSH 訪問叢集執行個體,可以手動為 ECS 執行個體綁定 EIP,並配置安全性群組規則,開放 SSH(22)連接埠,具體操作參見SSH訪問Kubernetes叢集


  11. 設定是否啟用Cloud Monitor外掛程式。
    您可以選擇在 ECS 節點上安裝Cloud Monitor外掛程式,從而在Cloud Monitor控制台查看所建立 ECS 執行個體的監控資訊。


  12. 設定是否啟用進階選項。
    1. 設定節點 Pod 數量,是指單個節點可運行 Pod 數量的上限。


    2. 設定是否選擇自訂鏡像。或不選擇自訂鏡像,則 ECS 執行個體會安裝預設的 CentOS 版本。

      目前您只能選擇基於 CentOS 的自訂鏡像來快速部署您需要的環境。

    3. 設定是否使用自訂叢集CA。如果勾選自訂叢集 CA,可以將 CA 憑證添加到 kubernetes 叢集中,加強服務端和用戶端之間資訊互動的安全性。


  13. 單擊建立叢集,在彈出的配置確認對話方塊中,確認VPC公網訪問,最後單擊確定,啟動部署。


    说明 一個包含多節點的 Kubernetes 叢集的建立時間一般需要十幾分鐘。

下一步

查看叢集部署結果

叢集建立成功後,您可以在Container Service管理主控台的 Kubernetes 叢集列表頁面查看所建立的叢集。

您可以單擊右側的 查看日誌查看叢集的日誌資訊,您可單擊 資源棧事件查看更詳細的資訊。


其中:

  • API Server 公網串連端點:Kubernetes 的 API server 對公網提供服務的地址和連接埠,可以通過此服務在使用者終端使用 kubectl 等工具管理叢集。
  • API Server 內網串連端點:Kubernetes 的 API server 對叢集內部提供服務的地址和連接埠。此 IP 為負載平衡的地址,後端有 3 台 Master 提供服務。
  • Master 節點 SSH 串連地址:可以直接通過 SSH 登入到 Master 節點,以便對叢集進行日常維護。
  • 服務訪問網域名稱:為叢集中的服務提供測試用的訪問網域名稱。服務訪問網域名稱尾碼是 <cluster_id>.<region_id>.alicontainer.com