您可以通過Container Service管理主控台非常方便地快速建立 Kubernetes 叢集。
使用須知
建立叢集過程中,Container Service會進行如下操作:
- 建立 ECS,組態管理節點到其他節點的 SSH 的公開金鑰登入,通過 CloudInit 安裝配置 Kubernetes 叢集。
- 建立安全性群組,該安全性群組允許 VPC 入方向全部 ICMP 連接埠的訪問。
- 如果您不使用已有的 VPC 網路,會為您建立一個新的 VPC 及 VSwitch,同時為該 VSwitch 建立 SNAT。
- 建立 VPC 路由規則。
- 建立 NAT Gateway及 EIP。
- 建立 RAM 子帳號和 AK,該子帳號擁有 ECS 的查詢、執行個體建立和刪除的許可權,添加和刪除雲端硬碟的許可權,SLB 的全部許可權,Cloud Monitor的全部許可權,VPC 的全部許可權,Log Service的全部許可權,NAS 的全部許可權。Kubernetes 叢集會根據使用者部署的配置相應的動態建立 SLB,雲端硬碟,VPC路由規則。
- 建立內網 SLB,暴露 6443 連接埠。
- 建立公網 SLB,暴露 6443、8443和 22 連接埠(如果您在建立叢集的時候選擇開放公網 SSH 登入,則會暴露 22 連接埠;如果您選擇不開放公網 SSH 訪問,則不會暴露 22 連接埠)。
前提條件
您需要開通Container Service、Resource Orchestration Service(ROS)服務和存取控制(RAM)服務。
登入 Container Service管理主控台、ROS 管理主控台 和 RAM 管理主控台 開通相應的服務。
使用限制
- 隨叢集一同建立的Server Load Balancer執行個體只支援隨用隨付的方式。
- Kubernetes 叢集僅支援專用網路 VPC。
- 每個帳號預設可以建立的雲資源有一定的配額,如果超過配額建立叢集會失敗。請在建立叢集前確認您的配額。如果您需要提高您的配額,請提交工單申請。
- 每個帳號預設最多可以建立 5 個叢集(所有地區下),每個叢集中最多可以添加 40 個節點。如果您需要建立更多的叢集或者節點,請提交工單申請。
- 每個帳號預設最多可以建立 100 個安全性群組。
- 每個帳號預設最多可以建立 60 個隨用隨付的Server Load Balancer執行個體。
- 每個帳號預設最多可以建立 20 個EIP。
- ECS 執行個體使用限制:
- 僅支援 CentOS 作業系統。
- 支援建立隨用隨付和訂用帳戶的ECS執行個體。
操作步驟
- 登入 Container Service管理主控台。
- 在 Kubernetes 菜單下,單擊左側導覽列的叢集,進入叢集列表頁面。
- 單擊頁面右上方的建立 Kubernetes 叢集,進入建立 Kubernetes 叢集頁面。
預設進入kubernetes叢集配置頁面。
- 填寫叢集的名稱。
叢集名稱應包含1-63個字元,可包含數字、漢字、英文字元或連字號(-)。
- 選擇叢集所在的地區和可用性區域。
- 設定叢集的網路。Kubernetes 叢集僅支援專用網路。
專用網路:您可以選擇自動建立(建立 Kubernetes 叢集時,同步建立一個 VPC)或者使用已有(使用一個已有的 VPC)。選擇使用已有後,您可以在已有 VPC 列表中選擇所需的 VPC 和交換器。
- 選擇自動建立,建立叢集時,系統會自動為您的 VPC 建立一個 NAT Gateway。
- 選擇使用已有,如果您使用的 VPC 中當前已有 NAT Gateway,Container Service會使用已有的 NAT Gateway;如果 VPC 中沒有 NAT Gateway,系統會預設自動為您建立一個 NAT Gateway。如果您不希望系統自動建立 NAT Gateway,可以取消勾選頁面下方的為專用網路配置 SNAT。
说明 若選擇不自動建立 NAT Gateway,您需要自行配置 NAT Gateway實現 VPC 安全訪問公網環境,或者手動設定 SNAT,否則 VPC 內執行個體將不能正常訪問公網,會導致叢集建立失敗。
- 設定節點類型,Container Service支援隨用隨付和訂用帳戶兩種節點類型。
- 設定 Master 節點的配置資訊。
您需要選擇 Master 節點的系列和規格。
说明- 目前僅支援 CentOS 作業系統。
- 目前僅支援建立 3 個 Master 節點。
- 支援為Master節點掛載系統硬碟,支援SSD雲端硬碟和高效雲端硬碟。
- 設定 Worker 節點的配置資訊。您可選擇新增執行個體或添加已有執行個體。
说明
- 目前僅支援 CentOS 作業系統。
- 每個叢集最多可包含 37 個 Worker 節點。如果您需要建立更多的節點,請提交工單申請。
- 支援為Worker節點掛載一個資料盤,支援SSD雲端硬碟、高效雲端硬碟和普通雲端硬碟
- 若您選擇新增執行個體,則需要選擇 Worker 節點的系列和規格,以及需要建立的 Worker 節點的數量(本樣本建立 1 個 Worker 節點)。
- 若您選擇添加已有執行個體,則需要預先在此地區下建立 ECS 雲端服務器。
- 配置登入方式。
- 設定密鑰。
您需要在建立叢集的時候選擇金鑰組登入方式,單擊 建立金鑰組,跳轉到ECS雲端服務器控制台,建立金鑰組,參見建立 SSH 金鑰對。金鑰組建立完畢後,設定該金鑰組作為登入叢集的憑據。
- 設定密碼。
- 登入密碼:設定節點的登入密碼。
- 確認密碼:確認設定的節點登入密碼。
- 設定密鑰。
- 設定Pod網路 CIDR 和Service CIDR。
说明 該選項僅在選擇 使用已有VPC時出現。
您需要指定Pod 網路 CIDR和Service CIDR,兩者都不能與 VPC 及 VPC 內已有 Kubernetes 叢集使用的網段重複,建立成功後不能修改。而且 Service 位址區段也不能和 Pod 位址區段重複,有關 kubernetes 網路位址區段規劃的資訊,請參考VPC下 Kubernetes 的網路位址區段規劃。
- 設定是否為專用網路配置 SNAT Gateway。
说明 若您選擇 自動建立 VPC 時必須配置 SNAT;若您選擇 使用已有VPC,可選擇是否自動設定SNAT Gateway。若選擇不自動設定 SNAT,您可自行配置NAT Gateway實現 VPC 安全訪問公網環境;或者手動設定 SNAT,否則 VPC 內執行個體將不能正常訪問公網,會導致叢集建立失敗。
- 設定是否開放公網 SSH 登入。
- 選擇開放公網 SSH 登入,您可以 SSH 訪問叢集。
- 選擇不開放公網 SSH 登入,將無法通過 SSH 訪問叢集,也無法通過 kubectl 串連 叢集。如果您需要通過 SSH 訪問叢集執行個體,可以手動為 ECS 執行個體綁定 EIP,並配置安全性群組規則,開放 SSH(22)連接埠,具體操作參見SSH訪問Kubernetes叢集。
- 設定是否啟用Cloud Monitor外掛程式。
您可以選擇在 ECS 節點上安裝Cloud Monitor外掛程式,從而在Cloud Monitor控制台查看所建立 ECS 執行個體的監控資訊。
- 設定是否啟用Log Service,您可使用已有Project或建立一個Project。
勾選使用SLS,會在叢集中自動設定Log Service外掛程式。建立應用時,您可通過簡單配置,快速使用Log Service,詳情參見Kubernetes與Log Service整合與使用。
- 是否啟用進階選項。
- 設定啟用的網路外掛程式,支援Flannel和Terway網路外掛程式。
- Flannel:簡單穩定的社區的Flannel cni外掛程式。
- Terway:阿里雲Container Service自研的網路外掛程式,支援將阿里雲的彈性網卡分配給容器,支援Kubernetes的NetworkPolicy來定義容器間的存取原則,支援對單個容器做頻寬的限流,目前處於公測階段。
- 設定節點 Pod 數量,是指單個節點可運行 Pod 數量的上限,建議保持預設值。
- 設定是否選擇自訂鏡像。或不選擇自訂鏡像,則 ECS 執行個體會安裝預設的 CentOS 版本。
目前您只能選擇基於 CentOS 的鏡像來快速部署您需要的環境,如基於 CentOS 7.4 的 LAMP 部署測試的鏡像。
- 設定是否使用自訂叢集CA。如果勾選自訂叢集 CA,可以將 CA 憑證添加到 kubernetes 叢集中,加強服務端和用戶端之間資訊互動的安全性。
- 設定啟用的網路外掛程式,支援Flannel和Terway網路外掛程式。
- 單擊建立叢集,啟動部署。
查看叢集部署結果
其中:
- API Server 公網串連端點:Kubernetes 的 API server 對公網提供服務的地址和連接埠,可以通過此服務在使用者終端使用 kubectl 等工具管理叢集。
- API Server 內網串連端點:Kubernetes 的 API server 對叢集內部提供服務的地址和連接埠。此 IP 為負載平衡的地址,後端有 3 台 Master 提供服務。
- Master 節點 SSH 串連地址:可以直接通過 SSH 登入到 Master 節點,以便對叢集進行日常維護。
- 服務訪問網域名稱:為叢集中的服務提供測試用的訪問網域名稱。服務訪問網域名稱尾碼是
<cluster_id>.<region_id>.alicontainer.com
。
kubectl get node
查看叢集的節點資訊。
可以發現,一共有 4 個節點,包括 3 個 Master 節點和我們在參數設定步驟填寫的 1 個 Worker 節點。