Config Sync respecte les mêmes conventions de journalisation que Kubernetes. Par défaut, la verbosité de la journalisation est définie sur 2.
Sur chaque cluster enregistré, plusieurs objets Deployment sont exécutés dans des pods au sein de l'objet Namespace config-management-system
. Chacun de ces objets Deployment représente un sous-système distinct, qui est indiqué par le nom de l'objet.
git-importer
: importe dans le cluster les configurations trouvées dans le dépôt sous la forme d'objets CustomResourceDefinition (CRD).monitor
: expose les points de terminaison pour la surveillance et les métriques.syncer
: vérifie que la configuration du cluster est synchronisée avec les objets CRD créés pargit-importer
.
Même si les tâches sont réparties par objet Deployment, vous ne pouvez pas interroger les journaux d'un de ces objets. Toutefois, vous avez la possibilité d'utiliser un sélecteur de libellés. Chaque objet Deployment est associé à un sélecteur de libellés app=[Deployment name]
.
Utilisez le sélecteur de libellés d'un objet Deployment pour afficher les journaux de ce dernier. L'exemple suivant montre les journaux de l'objet Deployment syncer
.
kubectl logs --namespace config-management-system -l app=syncer
Le pod git-importer
comporte deux conteneurs distincts, importer
et git-sync
. Pour afficher les journaux d'un seul de ces conteneurs, utilisez l'option -c
pour le spécifier. L'exemple suivant montre les journaux du conteneur importer
:
kubectl logs --namespace=config-management-system \ -l app=git-importer \ -c importer
Modifier la verbosité de la journalisation
La verbosité par défaut de la journalisation est définie sur 2. Si vous devez l'augmenter pour le débogage, procédez comme suit :
Modifiez l'objet Deployment
config-management-operator
:kubectl edit deployment -n=kube-system config-management-operator
Dans l'éditeur interactif, définissez la valeur
replicas
sur 0. Cela empêche Config Sync Operator d'annuler les modifications que vous apportez ci-dessous.Obtenez la liste de tous les objets Deployment associés à Config Sync. Les noms des objets Deployment et le nombre de ces objets peuvent changer.
kubectl get deployments -n=config-management-system
Modifiez chaque objet Deployment que vous déboguez ou surveillez. Remplacez
syncer
par le nom de l'objet Deployment que vous souhaitez modifier.kubectl edit deployment syncer
Après avoir modifié tous les objets Deployment appropriés, modifiez à nouveau l'objet
config-management-operator
et définissez la valeurreplicas
sur 1.kubectl get deployments -n=config-management-system
Une fois le débogage terminé, vous souhaiterez peut-être ramener à 2 la verbosité de la journalisation afin de conserver de l'espace disque sur les nœuds. Pour ce faire, réexécutez la procédure en définissant la valeur sur 2.
Identifier le commit Git ayant mis à jour un objet
Lorsque Config Sync Operator applique une modification à un objet Kubernetes en raison d'une mise à jour du dépôt, le hachage associé au commit Git est stocké dans l'annotation configmanagement.gke.io/sync-token
. Pour afficher ce hachage, utilisez la commande kubectl get
:
kubectl get clusterrolebinding namespace-readers -oyaml
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{"configmanagement.gke.io/managed":"enabled","configmanagement.gke.io/cluster-name":"config-management-cluster","configmanagement.gke.io/source-path":"cluster/namespace-reader-clusterrolebinding.yaml","configmanagement.gke.io/sync-token":"5edf7fda0cfccc351adfa2811954c80c812c26c5"},"creationTimestamp":null,"name":"namespace-readers"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"namespace-reader"},"subjects":[{"apiGroup":"rbac.authorization.k8s.io","kind":"User","name":"cheryl@foo-corp.com"}]} configmanagement.gke.io/managed: enabled configmanagement.gke.io/cluster-name: config-management-cluster configmanagement.gke.io/source-path: cluster/namespace-reader-clusterrolebinding.yaml configmanagement.gke.io/sync-token: 5edf7fda0cfccc351adfa2811954c80c812c26c5 creationTimestamp: 2019-02-11T19:39:37Z name: namespace-readers resourceVersion: "6301538" selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/namespace-readers uid: c45257a4-2e34-11e9-8a5e-42010a800134 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: namespace-reader subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: cheryl@foo-corp.com
Vous pouvez ensuite utiliser des commandes telles que git show [HASH]
pour afficher des informations sur le commit.
Étapes suivantes
- Lisez le guide de démarrage rapide.
- Découvrez comment surveiller Config Sync.