Visualiza los registros de Anthos Config Management

Visualizar registros

Anthos Config Management sigue las mismas convenciones de registro que Kubernetes. De forma predeterminada, la verbosidad del registro se establece en 2.

En cada clúster inscrito, se ejecutan varios objetos Deployment en Pods en el espacio de nombres config-management-system. Cada uno de estos objetos Deployment representa un subsistema diferente, como lo indica el nombre del Deployment.

  • git-importer: Importa los archivos de configuración que se encuentran en el repositorio al clúster como CustomResourceDefinitions (CRD).
  • monitor: Expone los extremos de las métricas y la supervisión.
  • syncer: Garantiza que la configuración del clúster se mantenga sincronizada con los CRD creados por git-importer.

Aunque las tareas se dividen por Deployment, no puedes consultar los registros de un Deployment. Sin embargo, puedes usar un selector de etiquetas. Cada Deployment tiene un selector de etiquetas app=[Deployment name].

Usa el selector de etiquetas de un Deployment para ver sus registros. En el siguiente ejemplo, se muestran los registros del Deployment syncer.

kubectl logs --namespace config-management-system -l app=syncer

El pod git-importer tiene dos contenedores diferentes, importer y git-sync. Para ver los registros de solo uno de estos contenedores, debes especificarlo con la opción -c. En el siguiente ejemplo, se muestran los registros del contenedor importer:

kubectl logs --namespace=config-management-system \
  -l app=git-importer \
  -c importer

Cambia la verbosidad de los registros

La verbosidad predeterminada de los registros es 2. Si necesitas aumentar la verbosidad para la depuración, sigue estos pasos.

  1. Edita el Deployment config-management-operator:

    kubectl edit deployment -n=kube-system config-management-operator
    

    En el editor interactivo, cambia el valor de replicas a 0. Esto evita que el operador revierta los cambios que realizarás a continuación.

  2. Obtén una lista de todas las implementaciones relacionadas con Anthos Config Management. La cantidad de objetos Deployment y sus nombres están sujetos a cambios.

    kubectl get deployments -n=config-management-system
    
  3. Para cada Deployment que depures o supervises, edita el objeto. Reemplaza syncer por el nombre del Deployment que desees cambiar.

    kubectl edit deployment syncer
    
  4. Después de modificar todos los objetos Deployment relevantes, vuelve a editar el objeto config-management-operator y establece replicas en 1.

    kubectl get deployments -n=config-management-system
    

Cuando termines de depurar, se recomienda reducir la verbosidad de los registros a 2 para conservar el espacio de disco en tus nodos. Para ello, vuelve a seguir el procedimiento y establece el valor en 2.

Busca la confirmación de Git que actualizó un objeto

Cuando el operador aplica un cambio a un objeto de Kubernetes debido a una actualización del repositorio, el hash de la confirmación de Git se almacena en la anotación configmanagement.gke.io/sync-token. Para ver este hash, usa 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

Luego, puedes usar comandos como git show [HASH] para ver la información sobre la confirmación.

Próximos pasos