Résoudre les problèmes de mise en réseau ambiante

Cette page explique comment résoudre les problèmes liés à la mise en réseau ambiante Google Kubernetes Engine (GKE) et comment la vérifier. Il fournit des instructions pour vérifier l'état des composants ambiants du cluster, diagnostiquer les problèmes d'authentification et d'autorisation du trafic, vérifier l'émission des certificats et inspecter les métriques et les journaux.

Vérifier que les composants sont installés et opérationnels

Les composants du mode Ambient de Cloud Service Mesh intégrés au cluster sont installés dans l'espace de noms gke-managed-ambient. Vous pouvez afficher l'état de tous les pods concernés à l'aide de la commande suivante :

kubectl get pods -n gke-managed-ambient

Vérifier que le trafic est authentifié et autorisé

À l'aide de l'explorateur de journaux dans la consoleCloud de Confiance , vérifiez les journaux d'accès correspondant aux connexions qui vous intéressent :

resource.type="k8s_container"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
logName="projects/PROJECT_ID/logs/gke-ambient-node-proxy-accesslog"

Les journaux d'accès affichent les détails de la connexion, y compris l'état de l'authentification et de l'autorisation.

Format du journal

Champ Type Description
connection struct Informations de connexion.
connection.src_ip string Adresse IP source de la connexion.
connection.src_port int Port source de la connexion.
connection.dest_ip string Adresse IP de destination de la connexion.
connection.dest_port int Port de destination de la connexion.
connection.direction string Sens de la connexion : {ingress, egress}
src struct Informations sur le point de terminaison de la source.
src.spiffe_id string Identité SPIFFE du pod. Vide si le pod n'a pas d'identité SPIFFE.
dst struct Informations sur le point de terminaison de la destination.
dst.spiffe_id string Identité SPIFFE du pod. Vide si le pod n'a pas d'identité SPIFFE.
error_details string Détails sur l'erreur qui s'est produite (ou - si aucune erreur ne s'est produite).
timestamp string Heure à laquelle la connexion a été observée (UTC).
tls_failure_reason string Motif d'échec du handshake TLS. null si la connexion n'est pas TLS.

Vérifier que les certificats ont bien été émis

Exécutez la commande suivante pour inspecter l'état de CertificateSigningRequests pour les pods de charge de travail de votre cluster :

kubectl get csr

Vous devriez voir des conditions "Approuvé,Émis" semblables à celles-ci :

NAME                           AGE   SIGNERNAME                 CONDITION
gke-ambient-spiffe-csr-q8kqh   2s    spiffe.gke.io/fleet-svid   Approved,Issued
gke-ambient-spiffe-csr-t5px2   7s    spiffe.gke.io/fleet-svid   Approved,Issued

Métriques de surveillance des services réseau

En plus des métriques Cloud Observability standards, la mise en réseau ambiante Cloud Service Mesh s'intègre à la surveillance des services réseau pour fournir une télémétrie réseau détaillée de couche 4.

Pour en savoir plus, consultez la présentation de la surveillance des services réseau et la documentation de référence sur les métriques de surveillance des services réseau.