如果您管理多個車隊的推出作業,建議使用專案代管 RolloutSequence 物件。這個專案會做為父項,並協調整個序列的推出作業。這項專案通常不屬於序列,也就是說,專案不包含屬於序列的車隊或叢集。
事前準備
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
- 請確認您已建立 Autopilot 或 Standard 叢集。如要建立新叢集,請參閱「建立 Autopilot 叢集」。
- (選用) 如果您沒有專屬專案來代管設定,請使用主控台或其他方法建立專案。 Google Cloud
RolloutSequenceGoogle Cloud - 確認已啟用車隊所需的 API。
如要建立任何類型的推出順序,必須在機群主機專案中啟用這些 API。為推出順序主專案啟用
gkehub.googleapis.comAPI。 - 如需 Terraform 操作說明,請務必使用 7.39.0 以上版本的
google供應程式。
必要的角色
如要建立專案,您需要具備專案建立者角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色。
如要建立或修改推出作業序列,您必須在推出作業序列中的每個機群主機專案,以及推出作業序列主機專案中,具備機群編輯者 IAM 角色 (roles/gkehub.editor)。這個角色提供下列權限:
gkehub.rolloutsequences.creategkehub.rolloutsequences.getgkehub.rolloutsequences.listgkehub.rolloutsequences.updategkehub.rolloutsequences.deletegkehub.fleet.update
具備這些權限,您就能建立、存取及修改 RolloutSequence 物件,並在推出順序中使用車隊。
如要註冊叢集至機群或取消註冊,您必須具備下列所有權限:
如果您具備這些專案的必要權限,可以使用一或多個機構中專案代管的車隊建立推出序列。
如要進一步瞭解不同工作所需的最低權限 IAM 角色,請參閱「透過 Gemini 取得預先定義的角色建議」。
設定推出作業序列
如要建立推出作業順序,叢集必須歸入機群群組。您也可以使用 Kubernetes 標籤建立精細的階段,指定機群內的特定叢集子集。如要瞭解如何整理叢集,請參閱社群銀行範例。將叢集歸類為群組,並視需要加上標籤後,請定義階段的排序清單,以及每個群組的浸泡時間,建立推出順序。
將叢集整理到機群中
在推出順序中,建議您在同一個發布管道中註冊所有叢集。如果叢集未註冊相同發布版本,GKE 會從序列中最保守的發布版本中選取版本。舉例來說,如果叢集同時註冊了穩定版和一般版,GKE 會選擇穩定版的版本。此外,我們也建議所有叢集都執行相同的子版本,這樣才能符合相同的自動升級目標版本資格。
如果您已將叢集整理到機群中,可以略過下列步驟,直接前往「建立叢集子集」一節。
- 將叢集分組到機群中。您可以依部署環境 (例如測試、預備和正式環境) 整理叢集 (建議)。
- 根據所選分組,向機群註冊每個叢集。
建立叢集子集 (選用)
如要讓推出程序中的階段指定特定叢集,請為這些叢集加上標籤。
舉例來說,如要在全面推出新版本前,先在部分叢集上測試,可以對這些叢集套用 canary 標籤。如要使用 Google Cloud CLI 將 canary 標籤 (值為 true) 新增至叢集,請執行下列指令:
gcloud container clusters update CLUSTER_NAME \
--location=CLUSTER_LOCATION\
--update-labels=canary=true
更改下列內容:
CLUSTER_NAME:現有叢集的名稱。CLUSTER_LOCATION:叢集的 Compute Engine 區域或可用區。
--update-labels=canary=true 旗標會指示 GKE 將 canary 標籤套用至叢集。
如要進一步瞭解如何為叢集新增標籤,請參閱「為現有叢集新增或更新標籤」。
建立包含自訂階段的推出作業序列
透過自訂階段的推出作業序列,您可以宣告式地定義階段,藉此決定升級順序。使用 gcloud CLI 時,您會使用 YAML 檔案;使用 Terraform 時,則會在設定中新增資源區塊。執行本節所述步驟時,您會建立 RolloutSequence。
為確保序列能擷取所有叢集,每個機群都必須包含全方位階段 (沒有標籤選取器的階段)。這個階段會擷取 GKE 在先前階段未選取的所有剩餘叢集。如果您在一個RolloutSequence內將單一叢集指派給多個階段,為解決衝突,GKE 只會將叢集隱含指派給最早的階段。
下列範例設定會建立三個階段:
- 第一階段的目標是
dev機群中的所有叢集。升級完成後,會有 7 天的浸泡時間 (7d)。 - 第二階段的目標是
prod機群中具有canary=true標籤的叢集。升級完成後,會有 7 天的浸泡時間 (7d)。 第三階段的目標是
prod機群中的其餘叢集。升級完成後,會有 7 天的浸泡時間 (7d)。
gcloud
將下列資訊清單儲存為
rollout-sequence.yaml:- stage: fleet-projects: - projects/dev soak-duration: 7d - stage: fleet-projects: - projects/prod soak-duration: 7d label-selector: resource.labels.canary=='true' - stage: fleet-projects: - projects/prod soak-duration: 7d注意事項:
stage:包括機群或機群中的叢集子集。序列必須先完成早期階段的叢集升級和浸潤測試,才能進入下個階段。不過,如果叢集在升級程序開始後 30 天內未完成升級,GKE 就會開始過渡期。fleet-projects:從中選取此階段叢集的車隊清單。每個階段最多可參照一個車隊。機群的識別依據是機群代管的專案。如果機群包含跨專案成員,這個專案可以與叢集所在的專案不同。指定車隊專案的格式為projects/PROJECT_ID。label-selector(選用):從指定機群中選取叢集子集。這個欄位使用一般運算語言 (CEL) 語法,且必須以resource.labels開頭。soak-duration:升級前一階段的所有叢集後,等待的時間長度,之後才會進入下一階段。以秒、分鐘、小時和天為單位。
如要建立在
rollout-sequence.yaml資訊清單中定義的推出順序,請執行下列指令:gcloud container fleet rolloutsequences create ROLLOUT_SEQUENCE_NAME \ --display-name=DISPLAY_NAME \ --stage-config=rollout-sequence.yaml更改下列內容:
ROLLOUT_SEQUENCE_NAME:符合 RFC-1034 規格的不變 ID,例如test-rollout-sequence。DISPLAY_NAME:使用者可自然閱讀的推出順序字串。
Terraform
本節說明如何使用 Terraform 建立具有自訂階段的推出順序。您也可以使用這項資源更新序列。詳情請參閱 google_gke_hub_rollout_sequence 的參考文件。
在 Terraform 設定中新增下列區塊,建立推出順序資源:
resource "google_gke_hub_rollout_sequence" "rollout_sequence" { rollout_sequence_id = "ROLLOUT_SEQUENCE_NAME" display_name = "DISPLAY_NAME" stages { fleet_projects = ["projects/dev"] soak_duration = "7d" } stages { fleet_projects = ["projects/prod"] cluster_selector { label_selector = "resource.labels.canary=='true'" } soak_duration = "7d" } stages { fleet_projects = ["projects/prod"] soak_duration = "7d" } }更改下列內容:
ROLLOUT_SEQUENCE_NAME:符合 RFC-1034 規格的不變 ID,例如test-rollout-sequence。DISPLAY_NAME:使用者可自然閱讀的推出順序字串。
推出特定版本
您可以將特定版本納入發布順序。詳情請參閱「推出特定版本」。
您可以將版本推出至推出順序中的叢集控制層或節點。
在推出作業序列中,將版本推出至控制層
執行下列指令:
gcloud container fleet rolloutsequences upgrade ROLLOUT_SEQUENCE_NAME\
--control-plane-version="CONTROL_PLANE_VERSION"
更改下列內容:
ROLLOUT_SEQUENCE_NAME:推出順序的名稱。CONTROL_PLANE_VERSION:要推出的版本。您可以選擇特定版本,例如1.34.7-gke.1055000,也可以使用版本別名。詳情請參閱指定叢集版本。
將版本推出至推出作業序列中的節點
執行下列指令:
gcloud container fleet rolloutsequences upgrade ROLLOUT_SEQUENCE_NAME \
--node-version="NODE_VERSION"
更改下列內容:
ROLLOUT_SEQUENCE_NAME:推出順序的名稱。NODE_VERSION:要推出的版本,例如1.34.7-gke.1055000。
查看推出作業狀態
設定推出順序後,系統會自動建立 Rollout
物件來管理升級作業。您可以使用 Google Cloud CLI 指令觀察及追蹤這些物件的進度。
列出發布作業
如要列出發布序列主專案中的所有現有和歷來發布作業,請執行下列指令:
gcloud container fleet rollouts list --project=HOST_PROJECT_ID
將 HOST_PROJECT_ID 替換為推出序列託管專案的 ID。
如果已在推出序列的專案中,可以省略 --project=HOST_PROJECT_ID 旗標。
輸出結果會與下列內容相似:
NAME STATE CREATE_TIME
05eb251e4f19269e23-node-1-33-5-gke-1201000-t7mqd COMPLETED 2025-10-30T20:07:46
05eb251e4f19269e23-kcp-1-33-5-gke-1201000-djwst COMPLETED 2025-10-30T18:07:06
05eb251e4f19269e23-node-1-33-5-gke-1125000-6bxvu COMPLETED 2025-10-23T17:46:54
05eb251e4f19269e23-kcp-1-33-5-gke-1125000-2f6ct RUNNING 2025-10-23T16:41:33
在上述輸出內容中,包含 kcp 的發布名稱是指控制層升級,包含 node 的名稱是指節點升級。kcp 或 node 後的推出作業名稱區段,是衍生自 GKE 版本。
描述推出作業
如要取得特定推出作業的詳細資訊,包括目標版本、狀態和已升級的叢集,請使用 describe 指令,並搭配您從前一個指令取得的推出作業 ID:
gcloud container fleet rollouts describe ROLLOUT_ID \
--project=HOST_PROJECT_ID
更改下列內容:
ROLLOUT_ID:列出推出作業時取得的推出作業 ID。HOST_PROJECT_ID:代管推出序列的專案 ID。
例如:
gcloud container fleet rollouts describe 927e9a989930cf3b55-kcp-1-32-4-gke-1106006 \
--project=my-hostfleet
輸出結果會與下列內容相似:
createTime: '2025-05-26T11:47:29.909959672Z'
membershipStates:
projects/dev-project-id/locations/us-central1/memberships/c-1:
lastUpdateTime: '2025-05-26T12:20:55.601542481Z'
targets:
- cluster: projects/dev-project-id/locations/us-central1/clusters/c-1
operation: //container.googleapis.com/v1/projects/dev-project-id/locations/us-central1/operations/operation-1234567890-abcdefg-hijklm-nopqrst
state: SUCCEEDED
stageAssignment: 1
projects/dev-project-id/locations/us-central1/memberships/c-2:
lastUpdateTime: '2025-05-26T12:22:57.151203493Z'
targets:
- cluster: projects/dev-project-id/locations/us-central1/clusters/c-2
operation: //container.googleapis.com/v1/projects/dev-project-id/locations/us-central1/operations/operation-987654321-ghijkl-mno-pqr-stu-vwxyz
state: SUCCEEDED
stageAssignment: 1
projects/prod-project-id/locations/us-central1/memberships/c-1:
lastUpdateTime: '2025-05-26T13:03:34.134308942Z'
targets:
- cluster: projects/prod-project-id/locations/us-central1/clusters/c-1
operation: //container.googleapis.com/v1/projects/prod-project-id/locations/us-central1/operations/operation-567891234-efghij-klm-nopq-rstu-vwxyz
state: SUCCEEDED
stageAssignment: 2
projects/prod-project-id/locations/us-central1/memberships/c-2:
lastUpdateTime: '2025-05-26T13:06:34.025261641Z'
targets:
- cluster: projects/prod-project-id/locations/us-central1/clusters/c-1
operation: //container.googleapis.com/v1/projects/prod-project-id/locations/us-central1/operations/operation-765432198-01a7b896-67c2-523-6fjjh4-icmdydh
state: SUCCEEDED
stageAssignment: 2
name: projects/user-hostfleet/locations/global/rollouts/05eb251e4f19269e23-kcp-1-32-4-gke-1106006
rolloutSequence: projects/project-id/locations/global/rolloutSequences/my-sequence
state: COMPLETED
updateTime: '2025-07-22T07:36:51.052691989Z'
versionUpgrade:
desiredVersion: 1.32.4-gke.1106006
type: TYPE_CONTROL_PLANE
stages:
- state: COMPLETED
endTime: '2025-05-26T12:22:28.828506491Z'
stageNumber: 1
startTime: '2025-05-26T11:48:28.772658427Z'
soakDuration: 600s
- state: COMPLETED
endTime: '2025-05-26T13:06:20.026390832Z'
stageNumber: 2
startTime: '2025-05-26T12:32:38.419372153Z'
soakDuration: 600s
推出作業的狀態資訊
描述推出作業時,輸出內容的 stages 和 membershipStates 欄位會分別提供每個階段的進度狀態,以及該階段內每個叢集的進度狀態。
下表列出階段的可能狀態:
| 狀態 | 說明 |
|---|---|
PENDING |
這個階段的升級作業尚未開始。 |
RUNNING |
這個階段的升級作業正在進行中。如果您已為階段中的叢集設定維護期間,GKE 會等待維護期間開始,再升級叢集。 |
SOAKING |
這個階段的所有叢集都已完成升級,且階段處於設定的浸泡期。 |
FORCED_SOAKING |
升級作業超過最長升級時間 (30 天),因此 GKE 強制啟動過渡期。其餘叢集仍會繼續升級。 |
COMPLETED |
浸泡階段已完成,推出作業將進入下一個階段。 |
下表列出序列中叢集的可能狀態:
| 狀態 | 說明 |
|---|---|
PENDING |
這個叢集正在等待升級。 |
INELIGIBLE |
這個叢集不符合升級條件,可能是因為版本不一致。輸出內容會說明不符合資格的原因。 |
RUNNING |
這個叢集正在升級。 |
SUCCEEDED |
這個叢集已順利完成升級。 |
FAILED |
這個叢集升級失敗,如果目標失敗,只要階段處於有效狀態 (RUNNING 或 FORCED_SOAKING 狀態),系統就會無限次重試。 |
管理推出作業
如要管理個別推出作業,請按照下列章節的說明操作。如要進一步瞭解如何管理推出作業及可執行的相關動作,請參閱「管理推出作業」。
如要管理整個推出作業序列,而不只是特定推出作業,請參閱下節「管理推出作業序列」。
暫停發布
您可以暫停進行中的發布作業。如要進一步瞭解這項動作,請參閱「暫停推出」。
如要暫停推出作業,請執行下列指令:
gcloud container fleet rollouts pause ROLLOUT_ID
將 ROLLOUT_ID 替換為要暫停的推出作業 ID。如要取得發布序列中發布作業的發布 ID,請參閱「列出發布作業」。
繼續推出作業
如果推出作業暫停時間未滿 90 天,您可以繼續作業。如要進一步瞭解這項動作,請參閱「繼續推出版本」。
如要繼續暫停的推出作業,請執行下列指令:
gcloud container fleet rollouts resume ROLLOUT_ID
將 ROLLOUT_ID 替換為要繼續的推出作業 ID。如要取得發布序列中發布作業的發布 ID,請參閱「列出發布作業」。
取消推出作業
您可以取消推出作業,包括有效或已暫停的推出作業。您無法取消強制自動升級的推出作業。如要進一步瞭解如何取消推出作業,請參閱「取消推出作業」。
如要取消推出作業,請執行下列指令:
gcloud container fleet rollouts cancel ROLLOUT_ID
將 ROLLOUT_ID 替換為要取消的推出作業 ID。如要取得發布序列中發布作業的發布 ID,請參閱「列出發布作業」。
完成發布階段
如果已準備好將升級作業推進至下一個階段,即可完成推出階段。如要進一步瞭解這項操作,請參閱「完成推出階段」。
如要完成發布階段,請執行下列指令:
gcloud container fleet rollouts force-complete-stage ROLLOUT_ID \
--stage=STAGE
更改下列內容:
ROLLOUT_ID:要完成階段的推出作業 ID。如要取得發布序列中發布作業的發布 ID,請參閱「列出發布作業」。STAGE:您現在要完成的階段。舉例來說,如要完成第二階段,請輸入2。如要使用這項指令,階段必須處於執行或浸泡狀態。
在特定推出作業中,忽略推出順序中的叢集
如果您不希望叢集在進行中的推出作業中升級,可以讓 GKE 忽略推出作業序列中的叢集。不過,這項動作會從有效和日後推出作業的推出順序中移除叢集,而不只是有效推出作業。
如要在進行中的推出作業中執行這項動作,防止叢集升級,請參閱「在推出序列中忽略叢集」。
管理推出作業序列
您可以透過推出作業排序功能,以多種方式控管叢集自動升級作業,詳情請參閱以下各節。
如要管理推出作業序列中的單一推出作業,而非整個推出作業序列和所有推出作業,請參閱「管理推出作業」。
列出推出作業序列
如要列出主機專案中的所有推出程序,請執行下列指令:
gcloud container fleet rolloutsequences list --project=HOST_PROJECT_ID
將 HOST_PROJECT_ID 替換為推出序列託管專案的 ID。
說明推出作業序列
如要查看特定推出順序的詳細資料,請執行下列指令:
gcloud container fleet rolloutsequences describe ROLLOUT_SEQUENCE_NAME \
--project=HOST_PROJECT_ID
更改下列內容:
ROLLOUT_SEQUENCE_NAME:推出順序的名稱。HOST_PROJECT_ID:推出程序主機專案的 ID。
輸出結果會與下列內容相似:
createTime: '2025-10-23T16:40:16.403871189Z'
displayName: my-display-name
name: projects/HOST_PROJECT_ID/locations/global/rolloutSequences/ROLLOUT_SEQUENCE_NAME
stages:
- clusterSelector:
labelSelector: resource.labels.canary=='true'
fleetProjects:
- projects/FLEET_PROJECT_ID
soakDuration: 600s
- fleetProjects:
- projects/FLEET_PROJECT_ID
soakDuration: 300s
uid: 5c5b2ac8-9d76-45f9-92ca-5e6bd3fbcaef
updateTime: '2025-10-23T17:11:57.285678399Z'
選擇 GKE 在推出作業序列中執行的升級類型
根據預設,GKE 會以推出順序執行所有類型的叢集升級。您可以限制推出順序中的叢集升級範圍,只執行特定類型的升級。詳情請參閱「選擇 GKE 在推出程序中執行的升級類型」。
如要指定 GKE 在推出序列中執行的升級類型,請執行下列指令:
gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \
--auto-rollout-scope=TYPES_OF_UPGRADES
更改下列內容:
ROLLOUT_SEQUENCE_NAME:推出順序的名稱。TYPES_OF_UPGRADES:要執行的升級清單,可能如下:all:預設值,GKE 會依推出作業順序執行所有類型的叢集升級。none:GKE 不會在推出作業序列中執行任何叢集升級,強制自動升級的推出作業除外。下列一或多個值。如果是多個值,請以半形逗號分隔,且不得有空格:
control-plane-patch:GKE 會自動升級叢集控制層至較新的修補程式版本。control-plane-minor:GKE 會自動將叢集控制層升級至較新的次要版本。nodes-patch:GKE 會自動升級叢集節點至較新的修補程式版本。nodes-minor:GKE 會自動升級叢集節點至較新的次要版本。
舉例來說,如果只想在推出順序中推出修補程式版本,請指定
control-plane-patch,nodes-patch。
修改推出作業序列
建立現有的推出順序後,您可以視需要修改。請按照下列操作說明修改推出順序,具體做法取決於您管理推出順序的方式。
gcloud
如果您使用 gcloud CLI 管理推出順序,可以編輯定義順序的 YAML 設定檔。舉例來說,您可以更新階段的浸泡時間,或更新階段來變更升級順序。編輯檔案後,請套用變更。
舉例來說,如果您在名為 rollout-sequence.yaml 的檔案中定義原始推出順序,請視需要編輯該檔案。然後執行下列指令:
gcloud container fleet rolloutsequences update test-rollout-sequence \
--display-name="My Updated Rollout Sequence" \
--stage-config=rollout-sequence.yaml
Terraform
如果您使用 Terraform 管理推出順序,請修改您在建立推出順序時新增至 Terraform 設定的區塊,藉此修改推出順序。
在推出作業序列中忽略叢集
您可以讓 GKE 在推出作業序列中忽略叢集。您可以忽略發布序列中的一或多個叢集。詳情請參閱「在推出順序中忽略叢集」。
如要讓 GKE 在推出作業序列中忽略叢集,請按照下列步驟操作:
- 為要讓 GKE 忽略的叢集新增標籤,或使用現有標籤。舉例來說,您可以讓 GKE 忽略
status等標籤,或是忽略具有特定值的標籤,例如status=quarantine。 設定推出順序,忽略具有這個標籤的叢集:
gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \ --ignored-clusters-selector="resource.labels.LABEL_TO_IGNORE"更改下列內容:
ROLLOUT_SEQUENCE_NAME:推出順序的名稱。LABEL_TO_IGNORE:叢集的標籤名稱,GKE 應忽略這些叢集,不納入推出順序。
這些操作說明會設定 GKE,在推出作業順序中忽略某種標籤。如要忽略多個標籤,或建立更複雜的運算式,說明如何忽略含有特定標籤的叢集,可以使用 CEL 運算式語法將值傳遞至這個標記。所有標籤都必須使用 resource.labels. 前置字元。
將叢集加回推出序列
如果您已按照上一節的 GKE 說明忽略推出作業序列中的叢集,可以還原這項動作。如要讓 GKE 不再忽略叢集,請使用下列指令移除忽略選取器:
gcloud container fleet rolloutsequences update ROLLOUT_SEQUENCE_NAME \
--ignored-clusters-selector
這個指令會重設忽略選取器,讓 GKE 不會忽略序列中的任何叢集。
或者,如果希望 GKE 不要忽略特定叢集,請從叢集移除標籤。
刪除推出作業序列
如要刪除推出程序,請執行下列指令:
gcloud container fleet rolloutsequences delete ROLLOUT_SEQUENCE_NAME \
--project=HOST_PROJECT_ID
更改下列內容:
- 將
ROLLOUT_SEQUENCE_NAME替換為推出序列的名稱。 - 將
HOST_PROJECT_ID替換為推出序列主專案的 ID。
刪除推出序列時,該序列中所有進行中的推出作業都會取消。這些叢集會恢復為註冊發布管道的預設自動升級行為。
將現有的推出作業順序遷移為使用自訂階段
如果您使用以車隊為基礎的推出順序版本,可以建立新的 RolloutSequence 參照現有車隊,藉此遷移至使用自訂階段的序列。請注意,這個版本的推出順序不支援 Google Cloud 管理中心。
如要遷移推出順序,請完成下列步驟:
視需要,您可以在遷移序號前,複製目前的推出序號設定。如要複製設定,請執行下列其中一項操作:
- gcloud CLI:執行指令來檢查以車隊為基礎的推出程序狀態。儲存指令輸出內容。
- Terraform:儲存 Terraform 設定。
建議不要刪除以車隊為準的推出順序,這樣如有需要,就能輕鬆還原至先前的推出順序版本。如果同時存在這兩種推出序列,GKE 只會遵循自訂階段的推出序列,因此您不需要刪除以機群為準的推出序列。
建立專屬 Google Cloud 專案,用於存放推出作業序列。這個專案通常不屬於序列,也就是說,專案不包含屬於序列的車隊或叢集。
如要讓推出順序包含機群內的特定叢集,請為這些叢集新增標籤。本步驟為選擇性步驟。
請按照「建立含有自訂階段的推出順序」一文的說明操作。
舉例來說,以下名為
rollout-sequence-migrate.yaml的資訊清單會參照先前推出順序中的現有車隊。這個資訊清單說明三個階段,包括prod艦隊中的canary階段:- stage: fleet-projects: - projects/dev soak-duration: 604800s - stage: fleet-projects: - projects/prod soak-duration: 604800s label-selector: canary=true - stage: fleet-projects: - projects/prod soak-duration: 604800s
為機群定義新的 RolloutSequence 後,GKE 會立即開始根據新的順序升級機群,並移除先前的設定。
將含有自訂階段的推出作業序列遷移至先前的推出作業序列
本節說明如何從自訂階段的推出作業排序功能,還原為以機群為基礎的推出作業排序功能模型。這個程序包括刪除新 RolloutSequence,以及還原原始的車隊設定。
防止遷移期間升級順序錯誤
如要避免在重新設定序列時發生非預期的升級或升級順序錯誤,請對正式環境叢集套用維護作業排除時段。這個步驟會暫時停止這些叢集的所有自動升級作業。舉例來說,您可以在正式版叢集上設定 no upgrades 類型的維護作業排除時段。
刪除推出作業序列
刪除管理叢集的 RolloutSequence 物件。刪除後,自訂階段功能就會停用。
如要刪除 RolloutSequence,請執行下列指令:
gcloud container fleet rolloutsequences delete ROLLOUT_SEQUENCE_NAME
將 ROLLOUT_SEQUENCE_NAME 替換為推出順序的名稱。
還原先前的推出順序設定 (不含自訂階段)
刪除 RolloutSequence 後,您可以還原原始的機群設定。這個程序包括使用原始參數重新建立 clusterupgrade 功能,包括序列中每個機群的 upstreamFleet 連結和浸泡時間。詳情請參閱「建立推出順序」。
移除排除的維護時間
還原原始的車隊式推出順序設定後,請移除您在本節第一個步驟中套用的維護排除條件。GKE 會繼續自動升級,但現在會依據還原的機群序列進行。
後續步驟
- 進一步瞭解運用推出作業排序功能升級叢集。