A fin de que la Atención al cliente de Cloud proporcione solución de problemas avanzada para los nodos de Autopilot, realiza las siguientes tareas a fin de otorgar acceso al servicio de atención al cliente a tus nodos del clúster de Autopilot.
Antes de comenzar
- Comunícate con Atención al cliente y obtén el nombre de miembro requerido para acceder a tu clúster, el cual se usará en las instrucciones siguientes.
- Asegúrate de tener un usuario que pueda otorgar cambios a los recursos mencionados en las instrucciones que aparecen a continuación.
Recopila la información requerida
Se necesita la siguiente información para solucionar problemas:
NODE_NAME
: El nombre del nodoNODE_ZONE
: La zona de procesamiento en la que se encuentra el nodoPROJECT_ID
: El ID del proyectoCOMPUTE_SERVICE_ACCT
: La cuenta de servicio de Compute Engine que se usa en el clústerORGANIZATION_ID
: Obligatorio si el proyecto está en una organizaciónCLUSTER_NETWORK
: La red del clúster
# Define the following variables in gcloud
NODE_NAME=<node name>
NODE_ZONE=<node zone>
PROJECT_ID=<project id>
ORGANIZATION_ID=<org id, if any>
COMPUTE_SERVICE_ACCT=<compute service account used in cluster>
CLUSTER_NETWORK=<cluster network>
Otorga acceso a tu clúster de Autopilot
El acceso a tu clúster se realiza mediante Acceso al SO. Se requieren los siguientes permisos de Identity and Access Management (IAM) y se deben otorgar al nombre de miembro que obtuviste de la Atención al cliente:
roles/compute.osAdminLogin
en el nodo específico.roles/compute.viewer
roles/iap.tunnelResourceAccessor
: Se necesita, puesto que el acceso se realiza a través del túnel Identity-Aware Proxy (IAP).- Si el proyecto está en una organización,
roles/compute.osLoginExternalUser
. Un administrador de la organización debe otorgar esta función a nivel de la organización. roles/iam.serviceAccountUser
en la cuenta de servicio que usan los nodos. Este es el valor predeterminado de Compute Engine o la cuenta de servicio que se pasó cuando se creó el clúster.
gcloud compute instances add-iam-policy-binding ${NODE_NAME} \
--zone=${NODE_ZONE} \
--role=roles/compute.osAdminLogin \
--member='group:SUPPORT_MEMBER'
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--role=roles/compute.viewer \
--member='group:SUPPORT_MEMBER'
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--role=roles/iap.tunnelResourceAccessor \
--member='group:SUPPORT_MEMBER'
# If project is in an organization:
gcloud organizations add-iam-policy-binding ${ORGANIZATION_ID} \
--role=roles/compute.osLoginExternalUser \
--member='group:SUPPORT_MEMBER'
gcloud iam service-accounts add-iam-policy-binding ${COMPUTE_SERVICE_ACCT} \
--role=roles/iam.serviceAccountUser \
--member='group:SUPPORT_MEMBER'
Reemplaza SUPPORT_MEMBER
con el nombre de miembro proporcionado por la Atención al cliente.
Otorga acceso de red a través de IAP
Además de los permisos necesarios, se necesita acceso a los nodos a través de IAP. Para obtener detalles, consulta Usa IAP para el redireccionamiento de TCP.
# Allow access through IAP
gcloud compute firewall-rules create allow-ssh-ingress-from-iap \
--direction=INGRESS \
--action=allow \
--rules=tcp:22 \
--source-ranges=35.235.240.0/20
--network=$CLUSTER_NETWORK
Limpia y revoca el acceso
Una vez que la Atención al cliente complete su depuración, realiza las siguientes tareas para limpiar y revocar el acceso a tus nodos de Autopilot.
Quita los permisos de IAM. Reemplaza
SUPPORT_MEMBER
con el nombre de miembro proporcionado por la Atención al cliente.gcloud iam service-accounts remove-iam-policy-binding ${COMPUTE_SERVICE_ACCT} \ --role=roles/iam.serviceAccountUser \ --member='group:SUPPORT_MEMBER' # If project is in an organization: gcloud organizations remove-iam-policy-binding ${ORGANIZATION_ID} \ --role=roles/compute.osLoginExternalUser \ --member='group:SUPPORT_MEMBER' gcloud projects remove-iam-policy-binding ${PROJECT_ID} \ --role=roles/iap.tunnelResourceAccessor \ --member='group:SUPPORT_MEMBER' gcloud projects remove-iam-policy-binding ${PROJECT_ID} \ --role=roles/compute.viewer \ --member='group:SUPPORT_MEMBER' gcloud compute instances remove-iam-policy-binding ${NODE_NAME} \ --zone=${NODE_ZONE} \ --role=roles/compute.osAdminLogin \ --member='group:SUPPORT_MEMBER'
Quita la regla de firewall para los rangos de IAP:
gcloud compute firewall-rules delete allow-ssh-ingress-from-iap