全部產品
Search
文件中心

Container Service for Kubernetes:如何建立註冊叢集

更新時間:Feb 18, 2025

註冊叢集是用於將本機資料中心Kubernetes叢集或其他雲廠商Kubernetes叢集接入阿里雲Container Service管理平台統一管理的叢集形態。本文介紹如何通過控制台建立一個註冊叢集並接入本機資料中心Kubernetes叢集。

重要

閱讀本文前,建議您通過註冊叢集概述瞭解註冊叢集相關概念及應用情境。

前提條件

支援通過公網和內網接入。更多資訊,請參見接入註冊叢集的目的地組群對於網路連通性有什麼要求?

操作步驟

通過控制台建立註冊叢集

  1. 建立接入叢集。

    1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

    2. 叢集列表頁面,單擊建立叢集

    3. ACK One 註冊叢集頁簽,完成建立叢集配置項。

      配置項

      說明

      帳號全部資源

      將滑鼠懸浮於頁面上方的帳號全部資源,選擇資源群組。在控制台頁面頂部選擇的資源群組可過濾出該資源群組內的專用網路及對應的虛擬交換器。在建立叢集時,只顯示過濾的專用網路執行個體及專用網路對應的虛擬交換器執行個體。資源群組

      叢集名稱

      叢集的名稱。長度為1~63個字元,可包含數字、底線(_)或中劃線(-),需以英文大小寫字母、中文或數字開頭。

      地區

      叢集所在的開服地區

      IPv6雙棧

      公測中,請前往配額平台申請。

      開啟IPv6雙棧後,將建立IPv4/IPv6雙棧叢集。

      重要
      • 僅1.22及以上版本的叢集支援此功能。

      • Worker節點與控制面之間的通訊使用IPv4地址。

      • 使用Terway共用ENI模式時,ECS的規格需要支援IPv6地址,且支援的IPv4地址數量與IPv6地址數量相同,才能正常加入叢集。關於ECS規格的詳細資料,請參見執行個體規格類型系列

      • 叢集使用的VPC需要支援IPv6雙棧。

      • 叢集使用eRDMA功能需要關閉IPv6雙棧。

      專用網路

      您可以在已有VPC列表中選擇所需的VPC和交換器。

      交換器

      您可以在選定的VPC下選擇所需的節點虛擬交換器。

      安全性群組

      勾選專用網路使用已有時,支援使用選擇已有安全性群組

      支援選擇自動建立普通安全性群組自動建立企業級安全性群組選擇已有安全性群組

      • 自動建立的安全性群組對於出方向預設全部允許。如果您因為業務原因需要修改,請確保在入方向已允許存取100.64.0.0/10網段。該網段用於訪問阿里雲其他服務,以執行鏡像拉取、查詢ECS基礎資訊等操作。

      • 指定已有安全性群組時,系統預設不會為安全性群組配置額外的訪問規則,可能會導致訪問異常,請自行管理安全性群組規則,請參見配置叢集安全性群組

      API server 訪問

      API Server建立一個隨用隨付的私網CLB執行個體,作為叢集API Server的內網串連端點。

      重要

      綁定公網IP

      設定是否啟用綁定EIP。選中此選項,會在叢集中自動綁定EIP,用於建立叢集連結。

      說明

      公網接入必選項;如果雲上雲下叢集已通過專線接通網路,可以不勾選。

      叢集刪除保護

      設定是否啟用叢集刪除保護。為防止通過控制台或API誤釋放叢集。

      資源群組

      建立的叢集將歸屬於選擇的資源群組。一個資源只能歸屬於一個資源群組。根據不同的業務情境,您可以將資源群組映射為專案、應用或組織等概念。

      標籤

      為叢集綁定標籤。輸入鍵和對應的值,單擊添加

      說明
      • 是必需的,而是可選的,可以不填寫。

      • 不能是aliyun、acs:、http://或https://開頭的字串,不區分大小寫,最多64個字元。

      • 不能是aliyun、acs:、http://或https://開頭的字串,可以為空白,不區分大小寫,最多128個字元。

      • 同一個資源,標籤鍵不能重複,相同標籤鍵(Key)的標籤會被覆蓋。

      • 如果一個資源已經綁定了20個標籤,已有標籤和建立標籤會失效,您需要解除綁定部分標籤後才能再綁定新的標籤。

      服務合約

      建立叢集前,需閱讀並同意《服務條款》《免責聲明》

    4. 在頁面右下方,單擊建立叢集,完成叢集建立。

      您可以在叢集列表,看到您建立的叢集。叢集列表

  2. 將目的地組群接入註冊叢集中。

    1. 在新叢集(本例中為test-external-cluster1)右側單擊操作列下的詳情

    2. 叢集資訊頁面單擊串連資訊頁簽。

    3. 叢集匯入代理配置地區根據需要選擇公網或者私網,然後單擊右側的複製,將公網或私網頁簽的內容複寫到一個檔案中,並執行kubectl命令,將目的地組群註冊至新叢集中。

      例如,您可以建立agent.yaml檔案,將以下內容複寫到agent.yaml檔案中,並在目的地組群中執行kubectl apply -f agent.yaml命令。

      重要

      如果是公網接入叢集,請選擇公網叢集匯入配置;否則請選擇私網叢集匯入配置。

      匯入配置

    4. 在目的地組群中執行以下命令,查看代理程式健全狀況。

      kubectl -n kube-system get pod |grep ack-cluster-agent

      預期輸出:

      ack-cluster-agent-5f7d568f6-6fc4k              1/1     Running   0          9s
      ack-cluster-agent-5f7d568f6-tf6fp              1/1     Running   0          9s

      註冊成功後,您可以在Container Service管理主控台的Kubernetes叢集列表頁面,看到該叢集的狀態為運行中

執行結果

叢集列表頁面中,找到註冊叢集,單擊操作列下的詳情,查看新叢集的基本資料串連資訊

您可以使用該KubeConfig串連目的地組群,進行應用負載的部署。關於串連叢集的具體操作,請參見通過kubectl串連Kubernetes叢集

通過onectl建立註冊叢集

  1. 安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集

  2. onectl支援通過以下兩種方式建立註冊叢集。

    重要

    在建立註冊叢集時,您需要輸入VPC、vSwitch、Region等資訊。當註冊叢集設定為公網可訪問時,為了提高安全性,您需要通過--acl設定註冊叢集SLB的存取控制白名單,包括本地叢集的出網IP位址區段和訪問註冊叢集的源IP位址區段。

    • 非互動式建立:執行以下命令,建立註冊叢集。

      onectl cluster create --region **** --vpc **** --vswitch ****
    • 互動式建立:執行以下命令,建立註冊叢集。

      onectl cluster create -i

    您可以執行以下命令查看具體的參數說明。

    onectl cluster create -h

    註冊叢集在建立完成後,會進行一系列初始化的操作,此時叢集狀態為initial。註冊叢集建立成功後,預期輸出:

    Registered cluster test-registered-cluster created successfully, information of the cluster:
    name         = test-registered-cluster
    state        = initial
    cluster id   = c3c277f2fc10f45c1b86473**********
    region id    = cn-zhangjiakou
    node numbers = 0
    vpc id       = vpc-8vb95w2o172**********
    vswitch id   = vsw-8vbv8bxhput**********
  3. 叢集初始化完成後進入waiting等待串連的狀態,執行以下命令,查看叢集狀態。

    onectl cluster describe --cluster-id ****

    預期輸出:

    name  = test-registered-cluster
    state = waiting
    ...
  4. 當叢集狀態為waiting時,執行以下命令,將目的地組群接入註冊叢集。

    onectl cluster connect --cluster-id **** --kubeconfig ~/.kube/config --restricted true

    參數

    是否必選

    說明

    cluster-id

    上述步驟2中建立的註冊叢集的ID。

    kubeconfig

    目的地組群的KubeConfig設定檔的路徑。如未指定,將使用KUBECONFIG環境變數指向的設定檔。

    restricted

    是否以受限模式串連註冊叢集。更多資訊,請參見註冊叢集ack-cluster-agent組件RBAC許可權說明

    您還可以執行以下命令查看具體參數說明。

    onectl cluster connect -h
  5. 執行以下命令,查看目的地組群是否接入成功。

    onectl cluster describe --cluster-id ****

    預期輸出:

    name  = test-registered-cluster
    state = running
    ...

    預期輸出表明叢集的狀態為running,註冊叢集已經成功串連。