Soluciona problemas

En esta página, se describen algunos errores comunes que puedes encontrar cuando usas Config Connector, junto con instrucciones para solucionar problemas.

Mensajes de error comunes:

No se encontraron coincidencias para el tipo Foo

Cuando surge este error, el clúster de Kubernetes no tiene instalado el CRD para el tipo de recurso "Foo".

Primero, verifica que el tipo se encuentra en los Recursos de Config Connector.

Si el tipo aparece en la lista, el problema corresponde a una instalación de Config Connector desactualizada o que no es válida. Las actualizaciones con el complemento de GKE deberían realizarse automáticamente. Para obtener actualizaciones sobre instalaciones manuales, consulta Instala en otras distribuciones de Kubernetes.

No se muestra status para los recursos

Si aparecen recursos aplicados sin un campo status, es muy probable que esto se deba a que los pods que forman parte de Config Connector no funcionan de forma correcta.

A fin de solucionar los problemas, inspecciona el espacio de nombres cnrm-system para los pods en mal estado:

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

spec.labels no se aplica a los recursos de Google Cloud subyacentes

Config Connector propaga las etiquetas que se encuentran en metadata.labels a las API de Google Cloud subyacentes. No debes especificar etiquetas en el spec del recurso y cualquier etiqueta especificada en spec.labels se ignora.

Para obtener más información, consulta los metadatos de los objetos.

Preguntas frecuentes

¿Cuándo estará disponible la versión XX de Config Connector como complemento de GKE?

La versión del complemento de Config Connector está vinculada a la versión de GKE, con un retraso de hasta 10 semanas desde la versión más reciente (variable por canal y versión en el canal).

Para tener más control sobre la versión, consulta cómo cambiar del complemento a la instalación manual.

Métricas

Las métricas se exponen para que se las extraiga mediante Prometheus.

Registro

Todos los pods que forman parte de Config Connector se registran en formato JSON.

En particular, los registros de los pods cnrm-controller-manager o pods son útiles cuando depuras problemas con la conciliación de recursos específicos.

Filtrar los siguientes campos es útil cuando estás examinando tus registros:

  • logger: contiene el tipo de recurso. Por ejemplo, los recursos PubSubTopic tienen un logger de pubsubtopic-controller.
  • resource.namespace: contiene el espacio de nombres del recurso.
  • resource.name: contiene el nombre del recurso.

Mensajes de registro de un recurso específico

Si usas GKE, puedes consultar registros del recurso específico con la siguiente consulta:

# 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"

Reemplaza lo siguiente:

  • GKE_CLUSTER_NAME por el nombre del clúster de GKE que ejecuta Config Connector
  • GKE_CLUSTER_LOCATION con la ubicación del clúster de GKE que ejecuta Config Connector Por ejemplo, us-central1.
  • RESOURCE_KIND con el tipo de recurso en minúsculas. Por ejemplo, pubsubtopic.
  • RESOURCE_NAMESPACE con el espacio de nombres del recurso.
  • RESOURCE_NAME con el nombre del recurso.

Ayuda adicional

Para obtener más ayuda, puedes presentar un problema en GitHub o comunicarte con el equipo de Asistencia de Google Cloud.

Cuando envíes tickets, incluye el resultado de la secuencia de comandos de diagnóstico de clústeres.

Para los sistemas operativos basados en Unix, la secuencia de comandos se puede ejecutar con el siguiente comando:

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