Sélecteur d'hôte virtuel manquant

Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Il n'existe pas de documentation Apigee Edge équivalente pour ce sujet.

Symptôme

Un ApigeeIssue avec Reason AIS_VIRTUALHOST_MISSING_SELECTOR s'affiche lorsque vous consultez les ressources de l'espace de noms apigee.

Messages d'erreur

Une fois kubectl -n apigee get apigeeissues exécuté, une erreur semblable à celle-ci s'affiche:

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

Cause: sélecteur d'entrée manquant pour Virtualhost

Le champ de sélection d'entrée n'est pas défini pour un hôte virtuel déclaré dans overrides.yaml.

Diagnostic

Exécutez la commande suivante :

kubectl -n apigee describe apigeeissue ISSUE_NAME

ISSUE_NAME est le nom du problème. Par exemple, vhost-missing-selector-my-org-my-virtualhost.

Le résultat doit ressembler à ce qui suit :

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.

Le contenu de Spec.Details explique le nom de l'hôte virtuel pour lequel il manque le sélecteur d'entrée.

Solution

  1. Utilisez kubectl describe pour vérifier les détails du problème:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    ISSUE_NAME est le nom du problème. Par exemple, vhost-missing-selector-my-org-my-virtualhost.

  2. Identifiez le nom virtualhost dans le champ Spec.Details.

    Dans cet exemple, l'hôte virtuel est appelé my-virtualhost.

  3. Recherchez l'hôte virtuel correspondant dans votre overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Mettez à jour l'hôte virtuel et ajoutez le sélecteur d'entrée:

    virtualhosts:
    ...
    - name: my-virtualhost
      selector:
        app: apigee-ingressgateway
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  5. Appliquez la modification à l'hôte virtuel:

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

Vous devez collecter des informations de diagnostic

Si le problème persiste, même après avoir suivi les instructions ci-dessus, rassemblez les informations de diagnostic suivantes, puis contactez l'assistance Apigee :

  1. ID de projet Google Cloud
  2. Nom de l'organisation Apigee Hybrid
  3. Champ Spec.Details de ApigeeIssue