Esta página explica o que é um perfil de instância do AWS IAM, por que ele é importante no contexto do GKE na AWS e como atualizar o perfil de instância.
O que é um perfil de instância do AWS IAM?
Um perfil de instância é um conceito específico da AWS. Consiste em um conjunto de credenciais que uma instância do Amazon EC2 usa para acessar vários recursos da AWS. Mais especificamente, um perfil de instância é um tipo de contêiner para uma função do IAM que pode ser anexada a uma instância do EC2. Um perfil de instância confere permissões à instância do EC2, permitindo que ela interaja com vários serviços da AWS sob as permissões definidas. Para obter mais informações, consulte Usando perfis de instância .
Como os perfis de instância são usados no GKE na AWS?
Cada plano de controle e cada pool de nós em um cluster do GKE na AWS está associado a um perfil de instância exclusivo da AWS. Os perfis de instância no GKE na AWS têm uma dupla finalidade:
- Um perfil de instância concede ao GKE na AWS as permissões necessárias para gerenciar recursos da AWS. Por exemplo, ele concede ao dimensionador automático de cluster as permissões necessárias para escalonar o cluster adicionando ou removendo instâncias do EC2 com base nas demandas da carga de trabalho.
- Um perfil de instância concede às instâncias do EC2 acesso a Google Cloud serviços. Por exemplo, o
kubelet
, em execução em uma máquina AWS, requer permissões específicas para fornecer credenciais de extração de imagens paracontainerd
. Essas credenciais são necessárias para acessar e extrair imagens do Artifact Registry privado do Google ou do Container Registry. No contexto do GKE na AWS, o perfil de instância do EC2 associado ao cluster é configurado para representar os Agentes de Serviço de Máquina do Google (como o Agente de Serviço de Máquina do Pool de Nós ou o Agente de Serviço de Máquina do Plano de Controle). Essa representação permite que as instâncias do EC2 do cluster se autentiquem automaticamente com o Artifact Registry ou o Container Registry do Google.
Atualizar perfil de instância
Atualizar o perfil da instância envolve criar um novo perfil de instância na AWS com permissões específicas e, em seguida, associá-lo ao seu cluster ou pool de nós do GKE na AWS.
Para atualizar corretamente o perfil da instância do seu cluster ou pool de nós, siga estas etapas:
- Crie um perfil de instância do IAM para suas instâncias do Amazon EC2 e adicione a função do IAM necessária ao perfil. Para obter mais detalhes, consulte Usando perfis de instância .
Vincule o novo perfil de instância ao seu cluster ou pool de nós do GKE na AWS executando o seguinte comando na sua Google Cloud CLI:
Perfil de link para cluster
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Substitua o seguinte:
-
CLUSTER_NAME
: o nome do seu cluster -
NEW_INSTANCE_PROFILE_NAME
: o nome do novo perfil de instância da AWS que você criou
Perfil de link para pool de nós
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...
Substitua o seguinte:
-
NODE_POOL_NAME
: o nome do seu pool de nós -
NEW_INSTANCE_PROFILE_NAME
: o nome do novo perfil de instância da AWS que você criou
Esses comandos mostram apenas os sinalizadores relevantes para atualizar o perfil da instância, mas você precisa fornecer sinalizadores adicionais para executar o comando
update
. Para obter detalhes, consulte Atualizar os parâmetros do cluster da AWS ou Atualizar um pool de nós .-
O método de atualização incorreto
É importante entender a maneira errada de atualizar um perfil de instância, porque é um erro fácil de cometer e que pode causar falhas no cluster.
A maneira errada de atualizar um perfil de instância é modificar diretamente um perfil de instância existente usando o Console de Gerenciamento da AWS ou a CLI da AWS. Essas alterações podem interromper a interação do GKE na AWS com os recursos da AWS. O GKE na AWS espera que os perfis de instância permaneçam como estavam quando vinculados pela primeira vez ao cluster ou pool de nós. Alterá-los fora das ferramentas de gerenciamento do GKE na AWS pode criar uma incompatibilidade com o ID da função do IAM presente no perfil da instância. Essa incompatibilidade pode causar uma falha no cluster.
A abordagem descrita na seção anterior garante que as atualizações sejam feitas sem interromper a integração do GKE na AWS com a AWS.