Falta el selector del host virtual

Estás viendo la documentación de Apigee y Apigee hybrid.
No hay documentación de Apigee Edge equivalente para este tema.

Síntoma

Se muestra un ApigeeIssue con Reason AIS_VIRTUALHOST_MISSING_SELECTOR cuando se visualizan los 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 configurado el campo del selector de entrada.

Diagnóstico

Ejecuta el siguiente comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

En el que ISSUE_NAME es el nombre del problema. Por ejemplo:vhost-missing-selector-my-org-my-virtualhost

El resultado debería ser similar al 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 host virtual al que le falta el selector de entrada.

Solución

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

    kubectl -n apigee describe apigeeissue ISSUE_NAME

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

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

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

  3. Busca el host virtual correspondiente en tu overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Actualiza el host virtual y agrega 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

Se debe recopilar información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con Asistencia de Apigee:

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