Dépannage

Cette page décrit certaines erreurs courantes que vous pouvez rencontrer lors de l'utilisation de Config Connector, ainsi que des instructions de dépannage.

Messages d'erreur fréquents

Aucune correspondance pour le genre Foo

Lorsque cette erreur est générée, l'objet CRD pour le genre de ressource "Foo" n'est pas installé sur le cluster Kubernetes.

Commencez par vérifier que le genre figure dans la section Ressources de Config Connector.

Si le genre est répertorié, le problème est une installation Config Connector obsolète ou incorrecte. Les mises à niveau avec le module complémentaire GKE doivent se produire automatiquement. Pour les mises à niveau relatives aux installations manuelles, consultez la page Installer sur d'autres distributions Kubernetes.

Aucune ressource status ne s'affiche pour les ressources

Si les ressources appliquées ne comportent pas de champ status, cela est probablement dû au fait que les pods faisant partie de Config Connector ne fonctionnent pas correctement.

Pour résoudre ce problème, inspectez l'espace de noms cnrm-system afin de détecter tous les pods non opérationnels:

kubectl get pods -n cnrm-system --field-selector status.phase!=Running

spec.labels ne sont pas appliqués aux ressources Google Cloud sous-jacentes.

Config Connector propage les étiquettes trouvées dans metadata.labels aux API Google Cloud sous-jacentes. Vous ne devez pas spécifier de libellés dans le champ spec de la ressource, et les libellés spécifiés dans spec.labels sont ignorés.

Pour en savoir plus, consultez la section Métadonnées des objets.

Questions fréquentes

Quand la version XX de Config Connector sera-t-elle disponible en tant que module complémentaire GKE ?

La version du module complémentaire Config Connector est liée à la version de GKE, avec un délai de 10 semaines maximum par rapport à la version la plus récente (variable par canal et version de canal).

Pour plus de contrôle sur la version, consultez l'article Passer du module complémentaire à une installation manuelle.

Métriques

Les métriques sont exposées pour la récupération par Prometheus.

Logging

Tous les pods qui font partie de Config Connector sont journalisés au format JSON.

Plus précisément, les journaux du pod cnrm-controller-manager ou des pods sont utiles lorsque vous déboguez des problèmes de rapprochement de ressources spécifiques.

Le filtrage des champs suivants est utile lorsque vous analysez vos journaux :

  • logger: contient le genre de la ressource. Par exemple, les ressources PubSubTopic ont un logger de pubsubtopic-controller.
  • resource.namespace: contient l'espace de noms de la ressource.
  • resource.name: contient le nom de la ressource.

Consigner les messages d'une ressource spécifique

Si vous utilisez GKE, vous pouvez interroger les journaux de la ressource spécifique en exécutant la requête suivante :

# Filter to include only logs coming from the cnrm-controller-manager Pods
resource.type="k8s_container"
resource.labels.container_name="manager"
resource.labels.namespace_name="cnrm-system"
labels.k8s-pod/cnrm_cloud_google_com/component="cnrm-controller-manager"

# Filter to include only logs coming from a particular GKE cluster
resource.labels.cluster_name="GKE_CLUSTER_NAME"
resource.labels.location="GKE_CLUSTER_LOCATION"

# Filter to include only logs for a particular Config Connector resource
jsonPayload.logger="RESOURCE_KIND-controller"
jsonPayload.resource.namespace="RESOURCE_NAMESPACE"
jsonPayload.resource.name="RESOURCE_NAME"

Remplacez l'élément suivant :

  • GKE_CLUSTER_NAME par le nom du cluster GKE exécutant Config Connector.
  • GKE_CLUSTER_LOCATION par l'emplacement du cluster GKE exécutant Config Connector. Exemple :us-central1
  • RESOURCE_KIND avec le genre de la ressource en minuscules. Par exemple, pubsubtopic.
  • RESOURCE_NAMESPACE par l'espace de noms de la ressource.
  • RESOURCE_NAME par le nom de la ressource.

Aide supplémentaire

Pour obtenir de l'aide, vous pouvez signaler un problème sur GitHub ou contacter l'assistance Google Cloud.

Au moment d'envoyer les demandes, incluez le résultat du script de diagnostic des clusters.

Pour les systèmes d'exploitation Unix, vous pouvez exécuter le script avec la commande suivante:

source <(curl -s
  https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-config-connector/master/scripts/cluster-diagnostics.sh)