实例未报告环境组的状态

您正在查看 ApigeeApigee Hybrid 文档。
查看 Apigee Edge 文档。

表现

Apigee Hybrid 界面中显示 API 代理部署失败并显示 Instance INSTANCE_NAME is not reporting status for environment group ENV_GROUP_NAME 错误。

错误消息

当将鼠标悬停在部署部分的状态列中出现的红色感叹号时,概览选项卡下的 API 代理菜单中会显示 The Instance INSTANCE_NAME is not reporting status for environment group ENV_GROUP_NAME 错误:

instance-not-reporting-status

可能的原因

原因 说明
缺少选择器 app: apigee-ingressgateway 使用 Apigee Ingress 时,overrides.yaml 文件需要在 virtualhosts 部分下包含选择器 app: apigee-ingressgateway

原因:缺少选择器 app: apigee-ingressgateway

使用 Apigee Ingress 网关时,overrides.yaml 文件包含 virtualhosts 配置部分,其中需要配置选择器 app: apigee-ingressgateway

诊断

首先,确认您使用的是 Hybrid 版本 1.8 及更高版本中提供的 Apigee Ingress 网关(以下配置不适用于客户管理的 Istio ASM)。在包含错误中提到的环境组的 overrides.yaml 文件中,找到 virtualhosts 部分并检查是否缺少以下选择器:

  selector:
    app: apigee-ingressgateway
    ingress_name: INGRESS_NAME

解决方法

修改 overrides.yaml 文件,使 virtualhosts[].selector 部分类似于以下示例:

    virtualhosts:
    - name: my-environment-group
      sslCertPath: my-cert.crt
      sslKeyPath: my-cert.key
      selector:
        app: apigee-ingressgateway
        ingress_name: INGRESS_NAME
  

修改 overrides.yaml 文件后,使用 Helm 应用新配置:

试运行:

helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
--namespace APIGEE_NAMESPACE \
--atomic \
--set envgroup=ENV_GROUP \
-f OVERRIDES_FILE \
--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_FILE

参考