En esta página, se muestra cómo investigar y resolver problemas relacionados con el registro en GKE.
Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.Faltan registros de clústeres en Cloud Logging
Verifica que el registro esté habilitado en el proyecto
Enumera los servicios habilitados:
gcloud services list --enabled --filter="NAME=logging.googleapis.com"
En el siguiente resultado, se indica que el registro está habilitado para el proyecto:
NAME TITLE logging.googleapis.com Cloud Logging API
Opcional: Revisa los registros en el visor de registros para determinar quién inhabilitó la API y cuándo la inhabilitó:
protoPayload.methodName="google.api.serviceusage.v1.ServiceUsage.DisableService" protoPayload.response.services="logging.googleapis.com"
Si el registro está inhabilitado, habilítalo:
gcloud services enable logging.googleapis.com
Verifica que el registro esté habilitado en el clúster
Enumera los clústeres:
gcloud container clusters list \ --project=PROJECT_ID \ '--format=value(name,loggingConfig.componentConfig.enableComponents)' \ --sort-by=name | column -t
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google Cloud.
El resultado es similar a este:
cluster-1 SYSTEM_COMPONENTS cluster-2 SYSTEM_COMPONENTS;WORKLOADS cluster-3
Si el valor de tu clúster está vacío, el registro se inhabilita. Por ejemplo,
cluster-3
en esta salida tiene el registro inhabilitado.Habilita el registro del clúster si está configurado como
NONE
:gcloud container clusters update CLUSTER_NAME \ --logging=SYSTEM,WORKLOAD \ --location=COMPUTE_LOCATION
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.COMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Verifica que los nodos de los grupos de nodos tengan permiso de acceso a Cloud Logging
Se requiere uno de los siguientes permisos para que los nodos escriban registros en Cloud Logging:
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/logging.admin
Verifica los permisos configurados en cada grupo de nodos en el clúster:
gcloud container node-pools list --cluster=CLUSTER_NAME \ --format="table(name,config.oauthScopes)" \ --location COMPUTE_LOCATION
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.COMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Migra tus cargas de trabajo del grupo de nodos anterior al grupo de nodos recién creado y supervisa el progreso.
Crea grupos de nodos nuevos con el permiso de registro correcto:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --scopes="gke-default"
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.COMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
Verifica que la cuenta de servicio del grupo de nodos tenga un rol con los permisos de IAM correctos
La cuenta de servicio debe tener un rol que contenga el permiso logging.logEntries.create
para crear registros.
Busca la cuenta de servicio para cada grupo de nodos:
gcloud container node-pools list \ --cluster=CLUSTER_NAME \ --format="table(name,config.serviceAccount)" \ --location=COMPUTE_LOCATION
Reemplaza lo siguiente:
CLUSTER_NAME
: es el nombre de tu clúster.COMPUTE_LOCATION
: la ubicación de Compute Engine del clúster.
El resultado es similar a este:
NAME SERVICE_ACCOUNT default-pool gke-cluster-sa@developer.gserviceaccount.com
Si el grupo de nodos usa la cuenta de servicio predeterminada de Compute Engine, puedes describirla con el siguiente comando. Como práctica recomendada, usa una cuenta de servicio personalizada con privilegios mínimos para tus grupos de nodos. La cuenta de servicio predeterminada de Compute Engine contiene más que los permisos mínimos necesarios para ejecutar tus clústeres.
gcloud compute project-info describe --format="table(defaultServiceAccount)"
Verifica que los roles de IAM tengan suficientes permisos.
Consulta los permisos que se encuentran en los roles que se otorgan a una cuenta de servicio específica:
gcloud projects get-iam-policy PROJECT_ID \ --flatten="bindings[]" \ --filter="bindings.members=serviceAccount:SERVICE_ACCOUNT" \ --format="table[box](bindings.role)"
Otorga a la cuenta de servicio un rol que contenga el permiso
logging.logEntries.create
. Puedes usar un rol predefinido o crear un rol personalizado.
Verifica que no se hayan alcanzado las cuotas de la API de Write de Cloud Logging
Confirma que no alcanzaste las cuotas de escritura de API para Cloud Logging.
Dirígete a la página Cuotas en la consola de Google Cloud.
Filtra la tabla por “API de Cloud Logging”.
Confirma que no alcanzaste ninguna de las cuotas.