本頁說明如何建立及管理 Google Distributed Cloud 連線叢集資源。自 1.7.0 版起,Google Distributed Cloud connected 不再支援 Cloud 控制平面叢集。
如要進一步瞭解 Distributed Cloud connected 叢集,請參閱「Distributed Cloud connected 的運作方式」。
必要條件
如要建立 Distributed Cloud 連線叢集,請先在目標 Google Cloud 專案中啟用必要 API。如要執行這項操作,您必須在 Google Cloud 專案中具備下列其中一個角色:
- 擁有者 (
roles/owner) - 編輯者 (
roles/editor) - 服務使用情形管理員 (
roles/serviceusage.serviceUsageAdmin)
如要進一步瞭解這些角色,請參閱「基本角色」。如要瞭解如何授予角色,請參閱「授予單一角色」。
如要建立 Distributed Cloud 連線叢集,請啟用下列 API:
anthos.googleapis.comanthosaudit.googleapis.comanthosgke.googleapis.comcloudresourcemanager.googleapis.comconnectgateway.googleapis.comcontainer.googleapis.comedgecontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comgkeonprem.googleapis.comiam.googleapis.comkubernetesmetadata.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comserviceusage.googleapis.comstackdriver.googleapis.comstorage.googleapis.comsts.googleapis.com
如要瞭解如何啟用 API,請參閱「啟用服務」。
推薦主題
建立叢集前,請先熟悉下列主題:
建立叢集
如要建立 Distributed Cloud 連線叢集,請完成本節中的步驟。建立叢集是在 Distributed Cloud Connected 上部署工作負載的必要步驟之一。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
控制台
前往 Google Cloud 控制台的 Kubernetes「Clusters」(叢集) 頁面。
點選「建立」。
在「建立叢集」頁面中,按一下「內部部署」分頁標籤。
按一下「Distributed Cloud Edge」選項旁邊的「設定」。
在「叢集基本資訊」頁面中,提供下列資訊:
- 名稱:用於識別這個叢集的不重複名稱。這個名稱必須符合 RFC 1213 規定,且只能包含小寫英數字元和連字號 (
-),開頭和結尾須為英數字元。 - 位置:您要在其中建立這個叢集的 Google Cloud 區域。
- 每個節點的預設 Pod 數上限:要在這個叢集中的每個節點上執行的 Kubernetes Pod 數量上限。
- 標籤:按一下「新增標籤」,即可為這個叢集新增一或多個標籤。
- 名稱:用於識別這個叢集的不重複名稱。這個名稱必須符合 RFC 1213 規定,且只能包含小寫英數字元和連字號 (
按一下左側導覽列中的「控制平面」。
在「控制平面」頁面中,提供下列資訊:
- 選取「本機」做為控制層位置。
- 選取目標 Distributed Cloud connected 專案。
- 選取目標 Distributed Cloud connected 可用區。
- (選用) 指定篩選條件,選取要新增至叢集的特定 Distributed Cloud 機器。
- 指定是否要將其設為高可用性叢集。
- 指定是否要允許共用部署工作負載。這樣一來,工作負載就能在執行叢集控制層的節點上執行。
按一下左側導覽區中的「網路」。
在「網路」頁面中,提供下列資訊:
- 叢集預設 Pod 位址範圍:要在這個叢集上執行的 Kubernetes Pod 的所需 IPv4 CIDR 區塊。
- 服務位址範圍:Kubernetes 服務的所需 IPv4 CIDR 區塊,這些服務會在這個叢集上執行。
詳情請參閱「Distributed Cloud Pod and Service network address allocation」(Distributed Cloud Pod 和服務網路位址分配)。
按一下左側導覽區中的「授權」。
在「授權」頁面中,提供目標 Google Cloud 專案中獲授權可修改叢集資源的使用者帳戶名稱。
透過下列其中一種做法,將節點集區指派給叢集:
- 如要將現有節點集區指派給這個叢集,請在左側導覽的「節點集區」部分中選取現有節點集區,並確認「節點集區詳細資料」頁面中的節點集區設定正確無誤。
- 如要建立新的節點集區並指派給這個叢集,請按一下「新增節點集區」,並在「節點集區詳細資料」頁面中提供下列資訊:
- 節點集區名稱:用於識別這個節點集區的不重複名稱。
- 節點集區標籤:按一下「新增標籤」,為這個節點集區新增一或多個標籤。
- 工作站節點偏好設定:選取要指派給這個節點集區的 Distributed Cloud 連線節點。
如要建立 Distributed Cloud 連線叢集,請按一下「Create」(建立)。
gcloud
使用 gcloud edge-cloud container clusters create 指令:
gcloud edge-cloud container clusters create CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--fleet-project=FLEET_PROJECT_ID \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--cluster-ipv6-cidr=CLUSTER_IPV6_CIDR_BLOCK \
--services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
--services-ipv6-cidr=SERVICE_IPV6_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel RELEASE_CHANNEL \
--control-plane-node-storage-schema CONTROL_PLANE_STORAGE_SCHEMA \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--control-plane-node-location=CONTROL_PLANE_LOCATION \
--control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
--control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
--control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
--external-lb-address-pools=IPV4/IPV6_DATA_PLANE_ADDRESSES \
--version SOFTWARE_VERSION \
--offline-reboot-ttl REBOOT_TIMEOUT
更改下列內容:
CLUSTER_ID:用於識別這個叢集的專屬名稱。 這個名稱必須符合 RFC 1213 規範,且只能包含小寫英數字元和連字號 (-),開頭和結尾須為英數字元。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:叢集建立所在的 Google Cloud 區域。FLEET_PROJECT_ID:叢集註冊的 Fleet 主機專案 ID。如果省略這個旗標,系統會將 Distributed Cloud 連線叢集專案做為 Fleet 主專案。CLUSTER_IPV4_CIDR_BLOCK:Kubernetes Pod 在這個叢集上執行的IPv4 CIDR 區塊。CLUSTER_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes Pod 的IPv6 CIDR 區塊。SERVICE_IPV4_CIDR_BLOCK:Kubernetes 服務的所需 IPv4 CIDR 區塊,這些服務會在這個叢集上執行。SERVICE_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes 服務的IPv6 CIDR 區塊。MAX_PODS_PER_NODE(選用):要在這個叢集中的每個節點上執行的 Kubernetes Pod 數量上限。RELEASE_CHANNEL:(選用) 指定叢集要執行的 Distributed Cloud 軟體版本發布管道。有效值為REGULAR(啟用自動叢集升級) 和NONE(停用自動叢集升級)。如果省略此屬性,系統會預設為REGULAR。CONTROL_PLANE_STORAGE_SCHEMA(選用):指定這個叢集控制層節點的本機儲存空間結構定義。詳情請參閱「設定本機儲存空間結構定義」。CONTROL_PLANE_KMS_KEY(選用):您要用於這個叢集控制層節點的 Cloud KMS 金鑰完整路徑。例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已整合 Distributed Cloud 並連線至 Cloud Key Management Service 時,這個標記才適用,詳情請參閱「為本機儲存空間啟用客戶自行管理的加密金鑰 (CMEK) 支援」。
CONTROL_PLANE_LOCATION:指示 Distributed Cloud 在本機部署這個叢集的控制平面工作負載。此值是目標 Distributed Cloud connected 可用區的名稱。CONTROL_PLANE_NODE_COUNT(選用):指定要執行本機控制層工作負載的節點數量。有效值為3(高可用性) 和1(標準作業)。如果省略此屬性,系統會預設為3。CONTROL_PLANE_NODE_FILTER(選用):指定執行本機控制層工作負載的節點清單 (採用 regex 格式)。如果省略,Distributed Cloud 會隨機自動選取節點。CONTROL_PLANE_NODE_SHARING:(選用) 指定應用程式工作負載是否可在執行本機控制層工作負載的節點上執行。有效值為DISALLOWED和ALLOWED。如未填寫此欄位,則預設值為DISALLOWED。IPV4/IPV6_DATA_PLANE_ADDRESSES:指定 YAML 或 JSON 格式的設定檔,列出 IPv4 和 IPv6 位址、位址範圍或子網路,用於在叢集以存續模式執行時,為 Distributed Cloud 負載平衡器後方執行的服務提供連入流量。詳情請參閱「使用 MetalLB 進行第 2 層負載平衡」。SOFTWARE_VERSION:指定叢集要執行的 Distributed Cloud 連結軟體版本,格式為1.X.Y,其中X是次要版本,Y是修補程式版本,例如1.5.1。如果省略這項元素,系統會預設為伺服器預設軟體版本,通常是 Distributed Cloud Connected 的最新可用版本。如要取得可用於建立叢集的軟體版本 (包括伺服器預設版本),請參閱「取得叢集的可用軟體版本」。您必須將RELEASE_CHANNEL旗標設為NONE,才能指定叢集軟體版本。REBOOT_TIMEOUT:指定時間範圍 (以秒為單位),叢集節點可在叢集以存續模式執行時重新啟動,並重新加入叢集。如果省略,預設為0,重新啟動的節點必須重新連線至 Google Cloud ,才能重新加入叢集。注意:如果您指定重新啟動逾時時間範圍,即使您停用或刪除儲存空間金鑰,離線節點仍可在指定時間內重新啟動並重新加入叢集。
API
對 projects.locations.clusters 方法發出 POST 要求:
POST /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&requestId=REQUEST_ID&fleetId=FLEET_PROJECT_ID
{
"labels": { LABELS,
},
"authorization": {
"adminUsers": {
"username": "USERNAME"
}
},
"fleet": {
"project": "FLEET_PROJECT_ID"
},
"networking": {
"clusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"clusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": "RELEASE_CHANNEL",
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"controlPlane": {
"local": {
"nodeLocation": "CONTROL_PLANE_LOCATION",
"nodeCount": CONTROL_PLANE_NODE_COUNT,
"machineFilter": "CONTROL_PLANE_NODE_FILTER",
"sharedDeploymentPolicy": "CONTROL_PLANE_NODE_SHARING"
}
},
"externalLoadBalancerIpAddressPools": [
"IPV4/IPV6_DATA_PLANE_ADDRESSES"
],
"targetVersion": "SOFTWARE_VERSION",
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:用於識別這個叢集的專屬名稱。 這個名稱必須符合 RFC 1213 規範,且只能包含小寫英數字元和連字號 (-),開頭和結尾須為英數字元。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。FLEET_PROJECT_ID:叢集註冊的 Fleet 主機專案 ID。這可以是獨立專案,也可以是這個叢集所屬的 Distributed Cloud 連線專案 (PROJECT_ID)。您必須註冊機群。LABELS:要套用至這個叢集資源的標籤清單。USERNAME:有權修改叢集資源的目標 Google Cloud 專案中的使用者帳戶名稱。CLUSTER_IPV4_CIDR_BLOCK:Kubernetes Pod 在這個叢集上執行的IPv4 CIDR 區塊。CLUSTER_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes Pod 的IPv6 CIDR 區塊。SERVICE_IPV4_CIDR_BLOCK:Kubernetes 服務的所需 IPv4 CIDR 區塊,這些服務會在這個叢集上執行。SERVICE_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes 服務的IPv6 CIDR 區塊。MAX_PODS_PER_NODE:要在這個叢集每個節點上執行的 Kubernetes Pod 數量上限。RELEASE_CHANNEL:(選用) 指定叢集要執行的 Distributed Cloud 連結軟體版本發布管道。有效值為REGULAR(啟用自動叢集升級) 和NONE(停用自動叢集升級)。如果省略此屬性,系統會預設為REGULAR。CONTROL_PLANE_KMS_KEY(選用):您要用於這個叢集控制層節點的 Cloud KMS 金鑰完整路徑。例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已整合 Distributed Cloud connected 與 Cloud Key Management Service 時,這個參數才適用,如「為本機儲存空間啟用客戶自行管理的加密金鑰 (CMEK) 支援」一文所述。
CONTROL_PLANE_LOCATION:指示 Distributed Cloud 在本機部署這個叢集的控制平面工作負載。這個值是目標 Distributed Cloud 區域的名稱。CONTROL_PLANE_NODE_COUNT:指定要執行本機控制層工作負載的節點數量。有效值為3(高可用性) 和1(標準作業)。CONTROL_PLANE_NODE_FILTER(選用):指定執行本機控制層工作負載的節點清單 (採用 regex 格式)。如果省略,Distributed Cloud 會隨機自動選取節點。CONTROL_PLANE_NODE_SHARING:指定應用程式工作負載是否可在執行本機控制平面工作負載的節點上執行。有效值為DISALLOWED和ALLOWED。如果省略此屬性,系統會預設為DISALLOWED。IPV4/IPV6_DATA_PLANE_ADDRESSES:以 YAML 或 JSON 格式指定設定酬載,列出在叢集以存續模式執行時,服務的傳入流量適用的 IPv4 和 IPv6 位址、位址範圍或子網路,這些服務會在 Distributed Cloud 負載平衡器後方執行。詳情請參閱「使用 MetalLB 進行第 2 層負載平衡」。SOFTWARE_VERSION:指定要讓這個叢集執行的 Distributed Cloud 軟體版本,格式為1.X.Y,其中X是次要版本,Y是修補程式版本,例如1.5.1。如果省略這項元素,系統會預設為伺服器預設軟體版本,通常是 Distributed Cloud Connected 的最新可用版本。如要取得可用於建立叢集的軟體版本 (包括伺服器預設版本),請參閱「取得叢集的可用軟體版本」。您必須將RELEASE_CHANNEL欄位設為NONE,才能指定叢集軟體版本。REBOOT_TIMEOUT:指定時間範圍 (以秒為單位),叢集節點可在叢集以存續模式執行時重新啟動,並重新加入叢集。如果省略,預設為0,重新啟動的節點必須重新連線至 Google Cloud ,才能重新加入叢集。注意:如果您指定重新啟動逾時時間範圍,即使您停用或刪除儲存空間金鑰,離線節點仍可在指定時間內重新啟動並重新加入叢集。
列出區域中的叢集
如要列出在Google Cloud 區域中佈建的 Distributed Cloud 連線叢集,請完成本節中的步驟。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 檢視者角色roles/edgecontainer.viewer。
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
檢查叢集清單。
gcloud
使用 gcloud edge-cloud container clusters list 指令:
gcloud edge-cloud container clusters list \
--project=PROJECT_ID \
--location=REGION
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:您建立 Distributed Cloud 連結網路叢集的 Google Cloud 區域。
API
對 projects.locations.clusters.list 方法發出 GET 要求:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。FILTER:限制傳回結果為特定值的運算式。PAGE_SIZE:每頁要傳回的結果數。SORT_BY:以半形逗號分隔的欄位名稱清單,做為傳回結果的排序依據。預設排序順序為遞增;如要遞減排序,請在所需欄位前面加上~。PAGE_TOKEN:在回應的nextPageToken欄位中,對最後一個清單要求的回應中收到的權杖。傳送這個符記即可接收結果頁面。
取得叢集相關資訊
如要取得 Distributed Cloud connected 叢集的相關資訊,請完成本節中的步驟。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 檢視者角色roles/edgecontainer.viewer。
控制台
前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。
選取需要的叢集。
右側窗格會顯示詳細叢集資訊的下拉式面板。
gcloud
使用 gcloud edge-cloud container clusters describe 指令:
gcloud edge-cloud container clusters describe CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:您建立 Distributed Cloud 連結網路區域的 Google Cloud 區域。
API
對 projects.locations.clusters.get 方法發出 GET 要求:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。
取得叢集可用的軟體版本
如要瞭解 Distributed Cloud connected 可用區有哪些 Distributed Cloud connected 軟體版本可供建立叢集,請完成本節中的步驟。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 檢視者角色roles/edgecontainer.viewer。
gcloud
使用 gcloud edge-cloud container get-server-config 指令:
gcloud edge-cloud container get-server-config --location=REGION
將 REGION 替換為您建立 Distributed Cloud connected 可用區的 Google Cloud 區域。
API
對 projects.locations.serverConfig 方法發出 GET 要求:
GET /v1/projects/PROJECT_ID/locations/REGION/serverConfig
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。
升級叢集的軟體版本
如要升級 Distributed Cloud connected 叢集的軟體版本,請完成本節中的步驟。
指定軟體升級階段大小
完成本節中的步驟前,請參閱軟體更新錯開時間。
如要指定可同時進行軟體升級的節點數量,請使用下列指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。MAX_UNAVAILABLE_NODES:指定可同時停機進行軟體升級的 worker 節點數量上限。
如要將這個值重設為預設值,請使用下列指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-max-unavailable-worker-nodes
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:已建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。
將叢集升級至新版 Distributed Cloud 連線軟體
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters upgrade 指令:
gcloud edge-cloud container clusters upgrade CLUSTER_ID \ --location=REGION \ --project=PROJECT_ID \ --schedule=UPGRADE_SCHEDULE \ --version=SOFTWARE_VERSION
更改下列內容:
CLUSTER_ID:目標叢集的名稱。REGION:建立目標 Distributed Cloud 叢集的 Google Cloud 區域。PROJECT_ID:目標 Google Cloud 專案的 ID。UPGRADE_SCHEDULE:指定觸發軟體升級的時間。唯一有效值為IMMEDIATELY。SOFTWARE_VERSION:指定要讓這個叢集執行的 Distributed Cloud 軟體版本,格式為1.X.Y,其中X是次要版本,Y是修補程式版本,例如1.5.1。如要取得可用於建立叢集的軟體版本 (包括伺服器預設版本),請參閱取得叢集的可用軟體版本。
API
對 projects.locations.clusters.upgrade 方法發出 POST 要求:
POST /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID:upgrade?requestId=REQUEST_ID
{
"name": "projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID",
"targetVersion": "SOFTWARE_VERSION",
"schedule": "UPGRADE_SCHEDULE",
}
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。UPGRADE_SCHEDULE:指定觸發軟體升級的時間。唯一有效值為IMMEDIATELY。SOFTWARE_VERSION:指定叢集要執行的 Distributed Cloud 連結軟體版本,格式為1.X.Y,其中X是次要版本,Y是修補程式版本,例如1.5.1。如要取得可用於建立叢集的軟體版本 (包括伺服器預設版本),請參閱取得叢集的可用軟體版本。
如果節點屬於叢集的節點集區,軟體升級作業通常需要約 2 小時才能完成。這個指令會傳回作業,方便您追蹤軟體升級進度。軟體升級期間,叢集狀態會設為 Reconciling,升級完成後則會返回 Running。叢集狀態為 Error 表示軟體升級失敗。
在這種情況下,請再次執行升級程序。如要瞭解如何檢查叢集狀態,請參閱「取得叢集相關資訊」。
修改叢集
如要修改 Distributed Cloud connected 叢集,請完成本節中的步驟。如果您要修改叢集的儲存空間加密設定,請勿在同一次更新作業中更新任何其他參數。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters update 指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--services-ipv4-cidr=SERVICES_IPV4_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel=RELEASE_CHANNEL \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--offline-reboot-ttl=REBOOT_TIMEOUT \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_IPV4_CIDR_BLOCK:Kubernetes Pod 在這個叢集上執行的IPv4 CIDR 區塊。CLUSTER_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes Pod 的IPv6 CIDR 區塊。SERVICE_IPV4_CIDR_BLOCK:Kubernetes 服務的所需 IPv4 CIDR 區塊,這些服務會在這個叢集上執行。SERVICE_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes 服務的IPv6 CIDR 區塊。MAX_PODS_PER_NODE:要在這個叢集每個節點上執行的 Kubernetes Pod 數量上限。RELEASE_CHANNEL(選用):指定要讓這個叢集執行的 Distributed Cloud connected 軟體版本發布管道。有效值為REGULAR(啟用自動叢集升級) 和NONE(停用自動叢集升級)。如果省略此屬性,系統會預設為REGULAR。CONTROL_PLANE_KMS_KEY(選用):您要用於這個叢集控制層節點的 Cloud KMS 金鑰完整路徑。例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已整合 Distributed Cloud connected 與 Cloud Key Management Service 時,這個參數才適用,如「為本機儲存空間啟用客戶自行管理的加密金鑰 (CMEK) 支援」一文所述。
REBOOT_TIMEOUT:指定時間範圍 (以秒為單位),叢集節點可在叢集以存續模式執行時重新啟動,並重新加入叢集。如果省略,則預設為0,這會禁止重新啟動的節點重新加入叢集,直到重新建立與 Google Cloud 的連線為止。注意:如果您指定重新啟動逾時時間範圍,即使您停用或刪除儲存空間金鑰,離線節點仍可在指定時間內重新啟動並重新加入叢集。
MAX_UNAVAILABLE_NODES(選用):指定可同時停機進行軟體升級的背景工作節點數量上限。如果省略此屬性,系統會預設為 X。 這項功能為預先發布版。
API
對 projects.locations.clusters.patch 方法發出 PATCH 要求:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/?updateMask=UPDATE_MASK&requestId=REQUEST_ID
{
"labels": { LABELS,
},
"networking": {
"ClusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"ClusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"authorization": {
"adminUsers": {
"username": USERNAME
}
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": RELEASE_CHANNEL,
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。UPDATE_MASK:以半形逗號分隔的完整欄位名稱清單,用於以 FieldMask 格式更新這項要求中的欄位。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。CLUSTER_IPV4_CIDR_BLOCK:Kubernetes Pod 在這個叢集上執行的IPv4 CIDR 區塊。CLUSTER_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes Pod 的IPv6 CIDR 區塊。SERVICE_IPV4_CIDR_BLOCK:Kubernetes 服務的所需 IPv4 CIDR 區塊,這些服務會在這個叢集上執行。SERVICE_IPV6_CIDR_BLOCK:要在這個叢集上執行的 Kubernetes 服務的IPv6 CIDR 區塊。USERNAME:有權修改叢集資源的目標 Google Cloud 專案中的使用者帳戶名稱。MAX_PODS_PER_NODE:要在這個叢集每個節點上執行的 Kubernetes Pod 數量上限。RELEASE_CHANNEL:(選用) 指定叢集要執行的 Distributed Cloud 連結軟體版本發布管道。有效值為REGULAR(啟用自動叢集升級) 和NONE(停用自動叢集升級)。如果省略此屬性,系統會預設為REGULAR。CONTROL_PLANE_KMS_KEY(選用):您要用於這個叢集控制層節點的 Cloud KMS 金鑰完整路徑。例如:/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
只有在您已整合 Distributed Cloud connected 與 Cloud Key Management Service 時,這個參數才適用,如「為本機儲存空間啟用客戶自行管理的加密金鑰 (CMEK) 支援」一文所述。
REBOOT_TIMEOUT:(需要v1alpha1) 指定時間範圍 (以秒為單位),叢集節點可在重新啟動後重新加入叢集,而叢集則以存續模式執行。如果省略,預設為0,重新啟動的節點必須重新連線至 Google Cloud ,才能重新加入叢集。這項功能為預先發布版。注意:如果您指定重新啟動逾時時間範圍,即使您停用或刪除儲存空間金鑰,離線節點仍可在指定時間內重新啟動並重新加入叢集。
取得叢集的憑證
如要取得 Distributed Cloud 連線叢集的憑證,請完成本節中的步驟。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 檢視者角色roles/edgecontainer.viewer。
gcloud
使用 gcloud edge-cloud container clusters get-credentials 指令:
gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。
API
對 projects.locations.clusters 方法發出 GET 要求:
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud 區域的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。
為叢集設定維護期間
本節說明如何為 Distributed Cloud 連線叢集指定及清除下列類型的維護期間:
- 維護期間。指定時間範圍,讓 Google 可以在 Distributed Cloud 連線叢集上執行維護作業和軟體升級。
- 維護作業排除時段。指定時間範圍,Google 無法在這段期間對 Distributed Cloud 連結網路叢集執行維護作業或軟體升級。如要設定維護排除期間,請先設定維護期間。 維護作業排除時段的優先順序高於叢集的維護期間。
指定叢集的維護期間
如要為 Distributed Cloud connected 叢集指定維護時段,請完成本節中的步驟。如要進一步瞭解叢集維護作業,請參閱「瞭解軟體更新和維護期間」。
日期和時間格式請使用 RFC 5545。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
控制台
如果使用 Google Cloud 控制台,只能在建立叢集時指定維護時間範圍。如要在現有叢集上指定維護時間範圍,必須使用 Google Cloud CLI 或 Distributed Cloud Edge Container API。
gcloud
使用 gcloud edge-cloud container clusters update 指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--maintenance-window-start=MAINTENANCE_START \
--maintenance-window-end=MAINTENANCE_END \
--maintenance-window-recurrence=MAINTENANCE_FREQUENCY
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。MAINTENANCE_START:維護期間的開始時間,格式為YYYY-MM-DDTHH:MM:SSZ。MAINTENANCE_END:維護期間的結束時間,格式為YYYY-MM-DDTHH:MM:SSZ。MAINTENANCE_FREQUENCY:維護時段的頻率,格式為FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:BYDAY:以半形逗號分隔的日期清單,如果FREQ設為WEEKLY,維護作業可能會在這些日期進行。如果省略BYDAY參數,Google 會為你選擇星期幾。- 如果將
FREQ設為每天,維護期間會在指定時間每天發生。
API
對 projects.locations.clusters.update 方法發出 PATCH 要求:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": {
"window": {
"recurring_window": {
"window": {
"start_time": "MAINTENANCE_START",
"end_time": "MAINTENANCE_END"
},
"recurrence": "MAINTENANCE_FREQUENCY"
}
}
}
}
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。UPDATE_MASK:以半形逗號分隔的完整欄位名稱清單,用於以 FieldMask 格式更新這項要求中的欄位。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。CLUSTER_ID:目標叢集的名稱。USERNAME:有權修改叢集資源的目標 Google Cloud 專案中的使用者帳戶名稱。MAINTENANCE_START:維護期間的開始時間,格式為YYYY-MM-DDTHH:MM:SSZ。MAINTENANCE_END:維護期間的結束時間,格式為YYYY-MM-DDTHH:MM:SSZ。MAINTENANCE_FREQUENCY:維護時段的頻率,格式為FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:FREQ可以是DAILY或WEEKLY。BYDAY:以半形逗號分隔的日期清單,如果FREQ設為WEEKLY,維護作業可能會在這些日期進行。如果省略BYDAY參數,Google 會為你選擇星期幾。- 如果將
FREQ設為每天,維護期間會在指定時間每天發生。
詳情請參閱「資源:叢集」。
清除叢集的維護期間
如要清除 Distributed Cloud connected 叢集的維護時段,請完成本節中的步驟。清除叢集的維護期間時,也會清除該叢集的所有相應維護排除期間。如要進一步瞭解叢集維護作業,請參閱「瞭解軟體更新和維護期間」。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters update 指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-maintenance-window
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud 叢集的 Google Cloud 區域。
API
對 projects.locations.clusters.update 方法發出 PATCH 要求:
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": null
}
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。UPDATE_MASK:以半形逗號分隔的完整欄位名稱清單,用於以 FieldMask 格式更新這項要求中的欄位。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。USERNAME:有權修改叢集資源的目標 Google Cloud 專案中的使用者帳戶名稱。
詳情請參閱「資源:叢集」。
為叢集指定維護排除時段
如要為 Distributed Cloud connected 叢集指定維護排除時間範圍,請完成本節中的步驟。如要進一步瞭解叢集維護作業,請參閱「瞭解軟體更新和維護期間」。
日期和時間格式請使用 RFC 3339。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters update 指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--add-maintenance-exclusion-name=EXCLUSION_NAME \
--add-maintenance-exclusion-start=EXCLUSION_START \
--add-maintenance-exclusion-end=EXCLUSION_END
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。EXCLUSION_NAME:這個維護排除範圍的說明名稱。EXCLUSION_START:維護期間的開始時間,格式為YYYY-MM-DDTHH:MM:SSZ。EXCLUSION_END:維護期間的結束時間,格式為YYYY-MM-DDTHH:MM:SSZ。
清除叢集的維護排除時段
如要清除 Distributed Cloud connected 叢集的維護排除時間範圍,請完成本節中的步驟。如要進一步瞭解叢集維護作業,請參閱「瞭解軟體更新和維護期間」。
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters update 指令:
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--remove-maintenance-exclusion-window=MAINTENANCE_EXCLUSION_WINDOW
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud 叢集的 Google Cloud 區域。MAINTENANCE_EXCLUSION_WINDOW:要清除的維護排除時間範圍名稱。
刪除叢集
如要刪除 Distributed Cloud 連線叢集,請完成本節中的步驟。如要刪除叢集,請先完成下列步驟:
如要完成這項工作,您必須在 Google Cloud 專案中擁有Edge Container 管理員角色roles/edgecontainer.admin。
gcloud
使用 gcloud edge-cloud container clusters delete 指令:
gcloud edge-cloud container clusters delete CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
更改下列內容:
CLUSTER_ID:目標叢集的名稱。PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。
API
對 projects.locations.clusters.delete 方法發出 DELETE 要求:
DELETE /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?requestId=REQUEST_ID
更改下列內容:
PROJECT_ID:目標 Google Cloud 專案的 ID。REGION:建立目標 Distributed Cloud connected 叢集的 Google Cloud 區域。CLUSTER_ID:目標叢集的名稱。REQUEST_ID:用於識別這項要求的專屬程式輔助 ID。