En esta página, se explica qué es un perfil de instancia de IAM de AWS, 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 IAM de AWS?
Un perfil de instancia es un concepto específico de AWS. Consiste en un conjunto de credenciales que una instancia de Amazon EC2 usa para acceder a varios recursos de AWS. En particular, un perfil de instancia es un tipo de contenedor para un rol de IAM que se puede adjuntar 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 según los permisos definidos. Para obtener más información, consulta Cómo usar perfiles de instancias.
¿Cómo se usan los perfiles de instancia en GKE en AWS?
Cada plano de control y cada grupo de nodos dentro de un clúster de GKE en AWS se asocian con un perfil de instancia de AWS único. Los perfiles de instancia en GKE en AWS tienen un doble propósito:
- Un perfil de instancia otorga a GKE en AWS los permisos necesarios para administrar recursos de AWS. Por ejemplo, otorgan al escalador automático del clúster los permisos necesarios para escalar el clúster agregando o quitando instancias de EC2 según las demandas de la carga de trabajo.
- Un perfil de instancia otorga a las instancias de EC2 acceso a los servicios de Google Cloud .
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 Container Registry de Google y extraerlas. En el contexto de GKE on AWS, el perfil de instancia de EC2 asociado con el clúster se configura para actuar en nombre de los agentes de servicio de máquinas de Google (como el agente de servicio de máquina del grupo de nodos o el agente de servicio de la máquina del plano de control). Esta suplantación permite que las instancias EC2 del clúster se autentiquen automáticamente con Artifact Registry o Container Registry de Google.
Actualiza el perfil de instancia
La actualización del perfil de la instancia implica crear un nuevo perfil de instancia en AWS con permisos específicos y, luego, asociarlo con tu clúster o grupo de nodos de GKE on 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 agrega el rol de IAM que necesitas al perfil de instancia. Para obtener más información, consulta Cómo usar perfiles de instancias.
Vincula el nuevo perfil de instancia a tu clúster o grupo de nodos de GKE en AWS ejecutando el siguiente comando en Google Cloud CLI:
Vincula el perfil al clúster
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre de tu clúster.NEW_INSTANCE_PROFILE_NAME
: es el nombre del perfil de instancia de AWS nuevo que creaste.
Vincula el perfil al grupo de nodos
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Reemplaza lo siguiente:
NODE_POOL_NAME
: es el nombre de tu grupo de nodos.NEW_INSTANCE_PROFILE_NAME
: es el nombre del perfil de instancia de AWS nuevo que creaste.
Estos comandos solo muestran las marcas pertinentes para actualizar el perfil de instancia, pero debes proporcionar marcas adicionales para ejecutar el comando
update
. Para obtener más detalles, consulta Actualiza los parámetros de tu clúster de AWS o Actualiza un grupo de nodos.
El método de actualización incorrecto
Es importante comprender la forma incorrecta de actualizar un perfil de instancia, ya que es un error fácil de cometer que puede provocar fallas en el clúster.
La forma incorrecta de actualizar un perfil de instancia es modificar directamente un perfil de instancia existente con la consola de administración de AWS o la CLI de AWS. Estos cambios pueden interrumpir la interacción de GKE en AWS con los recursos de AWS. GKE en AWS espera que los perfiles de instancias permanezcan como estaban cuando se vincularon por primera vez al clúster o al grupo de nodos. Si los modificas fuera de las herramientas de administración de GKE en AWS, se puede producir una discrepancia con el ID del rol de IAM que se encuentra en el perfil de instancia. Esta incompatibilidad puede provocar una falla en el clúster.
El enfoque descrito en la sección anterior garantiza que se realicen las actualizaciones sin interrumpir la integración en AWS de GKE on AWS.