本主題說明如何在 Apigee hybrid 中刪除環境。另請參閱「關於環境和環境群組」。
關於環境刪除作業
刪除環境是建立環境的反向操作,包括下列工作:
如何刪除環境
假設您有兩個環境:test 和 prod。在覆寫檔案中,定義可能如下所示:
... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" - name: prod serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" ...
如要刪除 prod 環境,請按照下列步驟操作:
- 取得 gcloud 驗證憑證:
TOKEN=$(gcloud auth print-access-token)
- 為安全起見,請將環境從其附加的每個環境群組中卸載。這樣一來,在您移除執行階段元件之前,流量就不會轉送至環境。
- 列出環境群組的連結,並記下
environment為prod的連結name(連結 ID):無資料落地
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"
資料落地設定
curl -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"
輸出結果會與下列內容相似:
{ "environmentGroupAttachments": [ { "name": "f6f2958f-a0a1-4260-b9e9-80eead82ff1d", "environment": "prod", "createdAt": "1789700385118", "environmentGroupId": "ENV_GROUP" } ] } - 刪除附件:
無資料落地
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"
資料落地設定
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"
其中:
- ORG_NAME 是 Apigee 組織的名稱。
- ENV_GROUP 是環境群組的名稱。
- ATTACHMENT_ID 是上一步傳回的附件
name。這是系統產生的 ID,而非環境名稱。 - 如果您使用資料落地權,CONTROL_PLANE_LOCATION 是貴組織的控制層位置。
針對環境所屬的每個環境群組,重複執行上述步驟。
- 列出環境群組的連結,並記下
- 執行模擬測試,測試移除執行階段元件:
helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE --dry-run
- ENV_RELEASE_NAME 是您先前為這個環境安裝
apigee-env圖表時使用的名稱。通常與環境名稱相同。如要列出命名空間中的版本名稱,請執行helm list -n APIGEE_NAMESPACE。 - APIGEE_NAMESPACE 是您安裝 Apigee Hybrid 的命名空間,預設為
apigee。
--dry-run選項會模擬解除安裝,但不會移除任何內容,輸出結果與實際解除安裝的輸出結果相同。與helm upgrade不同,helm delete不接受--dry-run的值,例如--dry-run=server。例如:helm delete prod -n apigee --dry-runrelease "prod" uninstalled - ENV_RELEASE_NAME 是您先前為這個環境安裝
- 如果模擬測試沒有錯誤,請移除執行階段元件:
helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE
- 開啟覆寫檔案,並從
envs中移除prod環境定義,只保留測試定義。例如:... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json" runtime: "your_keypath/PROJECT_ID-apigee-runtime.json" ... - 儲存檔案。
- 從管理層刪除環境。您可以使用 Apigee UI 或刪除環境 API。
Apigee UI
在 Google Cloud 控制台,依序前往 「Apigee」 >「Management」(管理) >「Environments」(環境) 頁面。
- 選取 Apigee 組織的專案。
- 在
prod環境的資料列中,依序按一下 「Actions」(動作) >「Delete」(刪除)。
API
無資料落地:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"
資料落地:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"
呼叫會傳回長時間執行的作業。刪除作業應會在幾分鐘內完成。