Grupo de ambiente virtual ausente no host

Esta é a documentação da Apigee e da Apigee híbrida.
Não há documentação equivalente do Apigee Edge para esse tópico.

Sintoma

Um ApigeeIssue com Reason AIS_VIRTUALHOST_MISSING_ENVGROUP é mostrado ao visualizar recursos no namespace apigee.

Mensagens de erro

Depois de executar kubectl -n apigee get apigeeissues, o seguinte erro é exibido:

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

Causa: grupo de ambiente ausente no host virtual

Um dos virtualhosts definidos no overrides.yaml está sem o EnvironmentGroup correspondente.

Diagnóstico

Execute este comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

Em que ISSUE_NAME é o nome do problema. Por exemplo, vhost-missing-eg-my-eg.

Algo semelhante ao seguinte é retornado:

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"

O conteúdo de Spec.Details explica o nome do EnvironmentGroup que precisa existir.

Resolução

  1. Use o comando describe ApigeeIssue para exibir o nome do EnvironmentGroup que existe:
    kubectl -n apigee describe apigeeissues ISSUE_NAME

    Em que ISSUE_NAME é o nome do problema. Por exemplo, vhost-missing-eg-my-eg.

    Neste exemplo, o grupo de ambiente my-eg é esperado na organização my-org da Apigee.

  2. Use um dos seguintes métodos para corrigir o problema:
    1. Crie o grupo de ambiente:
      1. Crie um grupo de ambiente.
      2. Adicione um ambiente.
      3. Crie um proxy.
      4. Implante um proxy nesse ambiente.
    2. Exclua o grupo de ambiente:
      1. Abra overrides.yaml em um editor de texto.
      2. Exclua my-eg do virtualhost.
      3. Salve o arquivo overrides.yaml.
      4. Aplique novamente o arquivo overrides.yaml:
        apigeectl apply --settings virtualhosts

É necessário coletar informações de diagnóstico

Se o problema persistir mesmo depois de seguir as instruções acima, reúna as seguintes informações de diagnóstico e entre em contato com o Suporte do Google Cloud:

  1. O ID do projeto do Google Cloud.
  2. O nome da organização da Apigee híbrida.
  3. O campo Spec.Details do ApigeeIssue.