您目前查看的是 Apigee 和 Apigee Hybrid 說明文件。
這個主題沒有對應的
Apigee Edge 說明文件。
問題
在 apigee 命名空間中查看資源時,會顯示 ApigeeIssue 和 Reason
AIS_VIRTUALHOST_MISSING_ENVGROUP。
錯誤訊息
執行 kubectl -n apigee get apigeeissues 後,系統會顯示下列錯誤:
NAME SEVERITY REASON DOCUMENTATION AGE vhost-missing-eg-my-eg ERROR AIS_VIRTUALHOST_MISSING_ENVGROUP https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-env-group 5h18m
原因:虛擬主機缺少環境群組
overrides.yaml 中定義的其中一個 virtualhosts 缺少對應的 EnvironmentGroup。
診斷
執行下列指令:
kubectl -n apigee describe apigeeissue ISSUE_NAME
其中 ISSUE_NAME 是問題的名稱。例如:vhost-missing-eg-my-eg。
系統會傳回類似以下的回應:
Name: vhost-missing-eg-my-eg Namespace: apigee Labels: ais-reason=AIS_VIRTUALHOST_MISSING_ENVGROUP Annotations: <none> API Version: apigee.cloud.google.com/v1alpha1 Kind: ApigeeIssue Metadata: Creation Timestamp: 2023-04-05T14:29:38Z Generation: 1 Managed Fields: API Version: apigee.cloud.google.com/v1alpha1 Fields Type: FieldsV1 fieldsV1: f:spec: .: f:details: f:documentation: f:reason: f:severity: Manager: apigeewatcher Operation: Update Time: 2023-04-05T14:29:38Z Resource Version: 28195 UID: f7b62eb3-3f84-4a37-9ba8-9a0e1e9c3454 Spec: Details: Expected EnvironmentGroup "my-eg" in ApigeeOrganization "my-org" for ApigeeRouteConfig "my-org-my-eg" Documentation: https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-env-group Reason: AIS_VIRTUALHOST_MISSING_ENVGROUP Severity: ERROR Events: <none>
Spec: Details: Expected EnvironmentGroup "my-eg" in ApigeeOrganization "my-org" for ApigeeRouteConfig "my-org-my-eg"
Spec.Details 的內容說明預期存在的 EnvironmentGroup 名稱。
解析度
- 使用
describe ApigeeIssue指令顯示預期存在的EnvironmentGroup名稱:kubectl -n apigee describe apigeeissues ISSUE_NAME
其中 ISSUE_NAME 是問題的名稱。例如:
vhost-missing-eg-my-eg。在本範例中,預期環境群組
my-eg會出現在my-orgApigee 機構中。 - 請使用下列其中一種方法修正問題:
- 建立環境群組:
- 建立環境群組。
- 新增環境。
- 建立 Proxy。
- 將 Proxy 部署至該環境。
- 刪除環境群組:
- 在文字編輯器中開啟
overrides.yaml。 - 從
virtualhosts中刪除已移除的環境群組。 - 儲存
overrides.yaml檔案。 - 使用 Helm 指令重新套用
overrides.yaml檔案:模擬測試:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f overrides.yaml \ --dry-run=server
請務必加入顯示的所有設定,包括
--atomic,以便在動作失敗時回溯。您的安裝項目可能使用與 ENV_GROUP 不同的 ENV_GROUP_RELEASE_NAME 進行設定。如需設定相關資訊,請參閱「使用 Helm 安裝 Apigee Hybrid」。
安裝圖表:
helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP \ -f overrides.yaml
重試並確認系統不再傳回錯誤訊息。
- 在文字編輯器中開啟
- 建立環境群組:
必須收集診斷資訊
如果按照上述操作說明後問題仍未解決,請收集下列診斷資訊,然後與 Google Cloud Customer Care 團隊聯絡:
- Google Cloud 專案 ID。
- Apigee Hybrid 機構的名稱。
ApigeeIssue的Spec.Details欄位。