Falta el selector del host virtual

Estás consultando la documentación de Apigee y Apigee hybrid.
No hay documentación de Apigee Edge sobre este tema.

Síntoma

Se muestra un ApigeeIssue con Reason AIS_VIRTUALHOST_MISSING_SELECTOR cuando se ven recursos en el espacio de nombres apigee.

Mensajes de error

Después de ejecutar kubectl -n apigee get apigeeissues, se muestra un error como el siguiente:

NAME                                           SEVERITY   REASON                             DOCUMENTATION                                                                                  AGE
vhost-missing-selector-my-org-my-virtualhost   ERROR      AIS_VIRTUALHOST_MISSING_SELECTOR   https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_VIRTUALHOST_MISSING_SELECTOR   5h18m

Causa: falta el selector de entrada en VirtualHost

Un virtualhost declarado en overrides.yaml no tiene definido el campo de selector de entrada.

Diagnóstico

Ejecuta el siguiente comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

Donde ISSUE_NAME es el nombre del problema. Por ejemplo, vhost-missing-selector-my-org-my-virtualhost.

La salida debería ser similar a la siguiente:

Name:         vhost-missing-selector-my-org-my-virtualhost
Namespace:    apigee
Labels:       ais-reason=AIS_VIRTUALHOST_MISSING_SELECTOR
Annotations:  <none>
API Version:  apigee.cloud.google.com/v1alpha1
Kind:         ApigeeIssue
Metadata:
  Creation Timestamp:  2023-06-12T17:03:43Z
  Generation:          1
  Owner References:
    API Version:     apigee.cloud.google.com/v1alpha2
    Kind:            ApigeeOrganization
    Name:            my-org
    UID:             7e83a52c-ce00-4bed-98be-55835ada1817
  Resource Version:  3281563
  UID:               adc775c2-376d-4bf9-9860-500b2b2b8273
Spec:
  Details:        Expected ingress selector in ApigeeRouteConfig "my-org-my-virtualhost". Environment Group/virtual host "my-virtualhost" is missing an ingress selector.
  Documentation:  https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_VIRTUALHOST_MISSING_SELECTOR
  Reason:         AIS_VIRTUALHOST_MISSING_SELECTOR
  Severity:       WARNING
Events:           <none>
Spec:
  Details:        Expected ingress selector in ApigeeRouteConfig "my-org-my-virtualhost". Environment Group/virtual host "my-virtualhost" is missing an ingress selector.

El contenido de Spec.Details explica el nombre del virtualhost al que le falta el selector de entrada.

Resolución

  1. Usa kubectl describe para consultar los detalles del problema:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    Donde ISSUE_NAME es el nombre del problema. Por ejemplo, vhost-missing-selector-my-org-my-virtualhost.

  2. Determina el nombre de virtualhost a partir del campo Spec.Details.

    En este ejemplo, el virtualhost se llama my-virtualhost.

  3. Busca el virtualhost correspondiente en tu overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Actualiza el host virtual y añade el selector de entrada:

    virtualhosts:
    ...
    - name: my-virtualhost
      selector:
        app: apigee-ingressgateway
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  5. Aplica el cambio al host virtual:

    helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
      --namespace apigee \
      --set envgroup=ENV_GROUP_NAME \
      -f overrides.yaml

Debe recoger información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, reúne la siguiente información de diagnóstico y ponte en contacto con el equipo de Asistencia de Google Cloud:

  1. El Google Cloud ID del proyecto.
  2. Nombre de la organización de Apigee Hybrid.
  3. El campo Spec.Details del ApigeeIssue.