En esta página se explica qué es un perfil de instancia de AWS IAM, por qué es importante en el contexto de GKE en AWS y cómo actualizar el perfil de instancia.
¿Qué es un perfil de instancia de AWS IAM?
Un perfil de instancia es un concepto específico de AWS. Se trata de un conjunto de credenciales que usa una instancia de Amazon EC2 para acceder a varios recursos de AWS. En concreto, un perfil de instancia es un tipo de contenedor de un rol de IAM que se puede asociar a una instancia de EC2. Un perfil de instancia otorga permisos a la instancia EC2, lo que permite que la instancia interactúe con varios servicios de AWS con los permisos definidos. Para obtener más información, consulta Usar perfiles de instancia.
¿Cómo se usan los perfiles de instancia en GKE en AWS?
Cada plano de control y cada grupo de nodos de un clúster de GKE en AWS están asociados a un perfil de instancia de AWS único. Los perfiles de instancia de GKE en AWS tienen dos finalidades:
- Un perfil de instancia concede a GKE en AWS los permisos necesarios para gestionar recursos de AWS. Por ejemplo, conceden al autoescalador de clúster los permisos necesarios para escalar el clúster añadiendo o eliminando instancias de EC2 en función de las demandas de la carga de trabajo.
- Un perfil de instancia concede a las instancias de EC2 acceso a los Google Cloud servicios.
Por ejemplo,
kubelet
, que se ejecuta en una máquina de AWS, requiere permisos específicos para proporcionar credenciales de extracción de imágenes acontainerd
. Estas credenciales son necesarias para acceder a imágenes privadas de Artifact Registry o de Container Registry de Google y descargarlas. En el contexto de GKE en AWS, el perfil de instancia de EC2 asociado al clúster se configura para suplantar a los agentes de servicio de máquina de Google (como el agente de servicio de máquina del grupo de nodos o el agente de servicio de máquina del plano de control). Esta suplantación permite que las instancias EC2 del clúster se autentiquen automáticamente en Artifact Registry o Container Registry de Google.
Actualizar perfil de instancia
Para actualizar el perfil de instancia, debes crear un perfil de instancia en AWS con permisos específicos y, a continuación, asociarlo a tu clúster o grupo de nodos de GKE en AWS.
Para actualizar correctamente el perfil de instancia de tu clúster o grupo de nodos, sigue estos pasos:
- Crea un perfil de instancia de IAM para tus instancias de Amazon EC2 y añade el rol de IAM que necesites al perfil de instancia. Para obtener más información, consulta Usar perfiles de instancia.
Vincula el nuevo perfil de instancia a tu clúster o grupo de nodos de GKE en AWS ejecutando el siguiente comando en tu CLI de Google Cloud:
Vincular un perfil a un clúster
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre de tu clústerNEW_INSTANCE_PROFILE_NAME
: el nombre del nuevo perfil de instancia de AWS que has creado
Vincular un perfil a un grupo de nodos
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Haz los cambios siguientes:
NODE_POOL_NAME
: el nombre del grupo de nodosNEW_INSTANCE_PROFILE_NAME
: el nombre del nuevo perfil de instancia de AWS que has creado
Estos comandos solo muestran las marcas relevantes para actualizar el perfil de instancia, pero debes proporcionar marcas adicionales para ejecutar el comando
update
. Para obtener más información, consulta Actualizar los parámetros de un clúster de AWS o Actualizar un grupo de nodos.
El método de actualización incorrecto
Es importante saber cómo no se debe actualizar un perfil de instancia, ya que es un error fácil de cometer que puede provocar fallos en el clúster.
La forma incorrecta de actualizar un perfil de instancia es modificar directamente un perfil de instancia con la consola de administración de AWS o la CLI de AWS. Estos cambios pueden interrumpir la interacción de GKE on AWS con los recursos de AWS. GKE en AWS espera que los perfiles de instancia se mantengan como estaban cuando se vincularon por primera vez al clúster o al grupo de nodos. Si se modifican fuera de las herramientas de gestión de GKE en AWS, puede haber una discrepancia con el ID del rol de IAM que se encuentra en el perfil de instancia. Esta falta de coincidencia puede provocar un error en el clúster.
El método descrito en la sección anterior asegura que las actualizaciones se realicen sin interrumpir la integración de GKE on AWS con AWS.