虚拟主机缺少环境组

您正在查看 ApigeeApigee Hybrid 文档。
此主题没有等效的 Apigee Edge 文档。

症状

查看 apigee 命名空间中的资源时,系统会显示 ReasonAIS_VIRTUALHOST_MISSING_ENVGROUPApigeeIssue

错误消息

运行 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

原因:Virtualhost 缺少环境组

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 的名称。

解决方法

  1. 使用 describe ApigeeIssue 命令显示应该存在的 EnvironmentGroup 的名称:
    kubectl -n apigee describe apigeeissues ISSUE_NAME

    其中,ISSUE_NAME 是问题的名称。例如,vhost-missing-eg-my-eg

    在此示例中,my-org Apigee 组织中应该存在环境组 my-eg

  2. 请采用以下方法之一来纠正问题:
    1. 创建环境组:
      1. 创建环境组
      2. 添加环境
      3. 创建代理
      4. 将代理部署到该环境。
    2. 删除环境组:
      1. 使用文本编辑器打开 overrides.yaml
      2. virtualhost 中删除 my-eg
      3. 保存 overrides.yaml 文件。
      4. 重新应用 overrides.yaml 文件:
        apigeectl apply --settings virtualhosts

必须收集的诊断信息

如果按照上述说明操作后问题仍然存在,请收集以下诊断信息,然后联系 Apigee 支持团队

  1. Google Cloud 项目 ID。
  2. Apigee Hybrid 组织的名称。
  3. ApigeeIssueSpec.Details 字段。