O anfitrião virtual não tem um grupo de ambientes

Está a ver a documentação do Apigee e do Apigee Hybrid.
Não existe um equivalente na documentação do Apigee Edge para este tópico.

Sintoma

É apresentado um ApigeeIssue com Reason AIS_VIRTUALHOST_MISSING_ENVGROUP quando vê recursos no espaço de nomes apigee.

Mensagens de erro

Após executar kubectl -n apigee get apigeeissues, é apresentado o seguinte erro:

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: o VirtualHost não tem um grupo de ambientes

Um dos virtualhosts definidos em overrides.yaml não tem o EnvironmentGroup correspondente.

Diagnóstico

Execute o seguinte comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

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

É devolvido algo semelhante ao seguinte:

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 se espera que exista.

Resolução

  1. Use o comando describe ApigeeIssue para apresentar o nome do EnvironmentGroup que se espera que exista:
    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 ambientes my-eg é esperado na organização do Apigee my-org.

  2. Use um dos seguintes métodos para corrigir o problema:
    1. Crie o grupo de ambientes:
      1. Crie um grupo de ambientes.
      2. Adicione um ambiente.
      3. Crie um proxy.
      4. Implemente um proxy nesse ambiente.
    2. Elimine o grupo de ambientes:
      1. Abra overrides.yaml num editor de texto.
      2. Elimine o grupo de ambientes removido do virtualhosts.
      3. Guarde o ficheiro overrides.yaml.
      4. Volte a aplicar o ficheiro overrides.yaml através do comando Helm:

        Execução de ensaio:

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set envgroup=ENV_GROUP \
          -f overrides.yaml \
          --dry-run=server
        

        Certifique-se de que inclui todas as definições apresentadas, incluindo --atomic para que a ação seja revertida em caso de falha.

        A sua instalação pode ou não ter sido configurada através de um ENV_GROUP_RELEASE_NAME diferente de ENV_GROUP. Para ver informações sobre as definições, consulte o artigo Instale o Apigee hybrid com o Helm.

        Instale o gráfico:

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set envgroup=ENV_GROUP \
          -f overrides.yaml
        

        Volte a tentar e verifique se a mensagem de erro já não é devolvida.

Tem de recolher informações de diagnóstico

Se o problema persistir mesmo depois de seguir as instruções acima, recolha as seguintes informações de diagnóstico e, em seguida, contacte o apoio ao cliente da Google Cloud:

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