Esta página explica como criar um cluster padrão do GKE ou um conjunto de nós com nós Arm para poder executar cargas de trabalho Arm no Google Kubernetes Engine (GKE). Para saber como implementar cargas de trabalho Arm em clusters do Autopilot, consulte o artigo Implemente cargas de trabalho do Autopilot na arquitetura Arm.
Pode criar clusters com nós Arm usando a série de máquinas C4A ou a série de máquinas Tau T2A. Para saber mais acerca das vantagens do Arm e escolher a melhor série de máquinas para as suas cargas de trabalho, consulte o artigo VMs Arm no Compute.
Com o GKE, pode criar um cluster com pools de nós com um tipo de arquitetura (por exemplo, Arm) ou vários tipos de arquitetura (por exemplo, Arm e x86). Quando executa nós com vários tipos de arquitetura, pode implementar cargas de trabalho em arquiteturas no mesmo cluster.
Esta página destina-se a operadores e programadores que preparam e configuram recursos na nuvem que implementam cargas de trabalho. Para saber mais acerca das funções comuns, consulte o artigo Funções e tarefas comuns do utilizador do GKE.
Antes de ler esta página, familiarize-se com as cargas de trabalho Arm no GKE.
Antes de começar
Antes de começar, certifique-se de que realizou as seguintes tarefas:
- Ative a API Google Kubernetes Engine. Ative a API Google Kubernetes Engine
- Se quiser usar a CLI gcloud para esta tarefa,
instale-a e, em seguida,
inicialize-a. Se instalou anteriormente a CLI gcloud, execute
gcloud components update
para obter a versão mais recente.
- Reveja os requisitos e as limitações para nós C4A e T2A.
- Certifique-se de que tem as autorizações corretas para criar clusters. No mínimo, deve ter a função Administrador do cluster do Kubernetes Engine.
Configure contas de serviço IAM para o GKE
O GKE usa contas de serviço da IAM anexadas aos seus nós para
executar tarefas do sistema, como registo e monitorização. No mínimo, estas contas de serviço de nós
têm de ter a função
Conta de serviço de nós predefinida do Kubernetes Engine
(roles/container.defaultNodeServiceAccount
) no seu projeto. Por predefinição,
o GKE usa a
conta de serviço predefinida do Compute Engine,
que é criada automaticamente no seu projeto, como a conta de serviço do nó.
Para conceder a função roles/container.defaultNodeServiceAccount
à conta de serviço predefinida do Compute Engine, conclua os passos seguintes:
consola
- Aceda à página Boas-vindas:
- No campo Número do projeto, clique em Copiar para a área de transferência.
- Aceda à página IAM:
- Clique em Conceder acesso.
- No campo Novos responsáveis, especifique o seguinte valor:
SubstituaPROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
pelo número do projeto que copiou. - No menu Selecionar uma função, selecione a função Conta de serviço do nó predefinido do Kubernetes Engine.
- Clique em Guardar.
gcloud
- Encontre o seu Google Cloud número do projeto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Substitua
PROJECT_ID
pelo ID do seu projeto.O resultado é semelhante ao seguinte:
12345678901
- Conceda a função
roles/container.defaultNodeServiceAccount
à conta de serviço predefinida do Compute Engine:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Substitua
PROJECT_NUMBER
pelo número do projeto do passo anterior.
Crie um cluster com um node pool Arm
As instruções seguintes explicam como criar um novo cluster com um conjunto de nós que executa nós Arm a partir da série de máquinas C4A ou da série de máquinas Tau T2A.
Pode usar a CLI gcloud, a Google Cloud consola ou o Terraform para criar o cluster.
gcloud
Crie um novo cluster zonal com o conjunto de nós predefinido através de nós Arm:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES
Substitua o seguinte:
CLUSTER_NAME
: o nome do novo cluster com um grupo de nós Arm.CONTROL_PLANE_LOCATION
: a localização do Compute Engine do plano de controlo do seu cluster. Indique uma região para clusters regionais ou uma zona para clusters zonais. A região ou a zona selecionada tem de ser uma das localizações disponíveis para a série de máquinas Arm que escolher.NODE_LOCATIONS
: as zonas do seu conjunto de nós, comous-central1-a
. Tem de escolher entre as zonas disponíveis para a série de máquinas Arm, caso contrário, a criação do conjunto de nós pode falhar.ARM_MACHINE_TYPE
: uma das formas de máquinas C4A ou formas de máquinas T2A disponíveis, comoc4a-standard-8
out2a-standard-16
.NUM_NODES
: o número de nós para o seu grupo de nós Arm.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Para especificar uma conta de serviço personalizada na CLI gcloud, adicione a seguinte flag ao seu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitua SERVICE_ACCOUNT_NAME pelo nome da sua conta de serviço com privilégios mínimos.
Se quiser definir definições adicionais para o cluster, consulte a referência gcloud container clusters create
para ver uma lista completa das definições disponíveis na criação do cluster.
Consola
Na Google Cloud consola, aceda à página Criar um cluster do Kubernetes.
Configure o cluster. Para mais informações, consulte as instruções para criar um cluster zonal ou criar um cluster regional.
Escolha uma localização onde os nós Arm estejam disponíveis.
- Na secção Noções básicas do cluster, em Tipo de localização, escolha Zonal ou Regional:
- No menu pendente, escolha uma zona ou uma região onde os nós Arm estão disponíveis.
- Selecione a caixa para Especificar localizações de nós predefinidas. Selecione as zonas onde os nós Arm estão disponíveis.
Para selecionar um tipo de máquina Arm, na subsecção Nós, em Configurar definições do nó > Configuração da máquina > Família de máquinas, selecione GERAL. No menu pendente Série, selecione C4A ou T2A. No menu pendente Tipo de máquina, escolha entre as opções disponíveis.
- Opcionalmente, especifique uma conta de serviço do IAM personalizada para os seus nós:
- Na página Definições avançadas, expanda a secção Segurança.
- No menu Conta de serviço, selecione a sua conta de serviço preferida.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Clique em Criar.
Terraform
Para criar um cluster zonal com o node pool predefinido usando nós Arm com o Terraform, consulte o seguinte exemplo:
Para saber mais sobre a utilização do Terraform, consulte o artigo Compatibilidade do Terraform com o GKE.
Adicione um conjunto de nós Arm a um cluster do GKE
Pode adicionar um novo conjunto de nós a um cluster padrão do GKE usando a CLI gcloud, a Google Cloud consola ou o Terraform.
Como prática recomendada para criar um cluster do GKE com qualquer tipo de nós, recomendamos que crie e use uma conta de serviço de gestão de identidade e acesso (IAM) com privilégios mínimos para os seus conjuntos de nós usarem em vez da conta de serviço predefinida do Compute Engine.
Para obter instruções sobre como criar uma conta de serviço com privilégios mínimos, consulte o artigo Reforçar a segurança do cluster.
gcloud
Adicione um conjunto de nós Arm a um cluster existente:
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES \
--service-account SERVICE_ACCOUNT
Substitua o seguinte:
NODE_POOL_NAME
: o nome do novo conjunto de nós do ARM para o cluster existente.CONTROL_PLANE_LOCATION
: a localização do Compute Engine do plano de controlo do seu cluster. Indique uma região para clusters regionais ou uma zona para clusters zonais.CLUSTER_NAME
: o nome do cluster onde quer adicionar um node pool Arm.NODE_LOCATIONS
: as zonas do seu conjunto de nós, comous-central1-a
. Tem de escolher entre as zonas disponíveis para a série de máquinas Arm, caso contrário, a criação do conjunto de nós pode falhar.ARM_MACHINE_TYPE
: uma das formas de máquinas C4A ou formas de máquinas T2A disponíveis, comoc4a-standard-8
out2a-standard-16
.NUM_NODES
: o número de nós para o seu grupo de nós Arm.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Para especificar uma conta de serviço personalizada na CLI gcloud, adicione a seguinte flag ao seu comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Substitua SERVICE_ACCOUNT_NAME pelo nome da sua conta de serviço com privilégios mínimos.
Se quiser definir definições adicionais para o seu conjunto de nós, consulte a referência gcloud container node-pools create
para ver uma lista completa das definições disponíveis na criação do conjunto de nós.
Consola
Para adicionar um conjunto de nós Arm a um cluster existente, siga estes passos:
Aceda à página do Google Kubernetes Engine na Google Cloud consola.
Na lista de clusters, clique no nome do cluster que quer modificar.
Clique em add_box Adicionar conjunto de nós.
Configure o node pool.
Escolha localizações de nós onde os nós Arm estão disponíveis.
- Na secção Detalhes do conjunto de nós, selecione a caixa Especificar localizações dos nós.
- Selecione as zonas onde os nós Arm estão disponíveis.
Para selecionar um tipo de máquina Arm, na subsecção Nodes, em Configure node settings > Machine configuration > Machine family, selecione GENERAL-PURPOSE. No menu pendente Série, selecione C4A ou T2A. No menu pendente Tipo de máquina, escolha uma das opções disponíveis.
No menu de navegação, clique em Segurança.
- Opcionalmente, especifique uma conta de serviço do IAM personalizada para os seus nós:
- Na página Definições avançadas, expanda a secção Segurança.
- No menu Conta de serviço, selecione a sua conta de serviço preferida.
Recomendamos vivamente que especifique uma conta de serviço do IAM com privilégios mínimos que os seus nós possam usar em vez da conta de serviço predefinida do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte o artigo Use uma conta de serviço com privilégios mínimos.
Clique em Criar para adicionar o conjunto de nós.
Terraform
Para adicionar um conjunto de nós que usa nós Arm a um cluster existente com o Terraform, consulte o seguinte exemplo:
Substitua google_container_cluster.default.id
pelo nome do seu cluster.
Para saber mais sobre a utilização do Terraform, consulte o artigo Compatibilidade do Terraform com o GKE.
O que se segue?
- Crie imagens de várias arquiteturas para cargas de trabalho Arm
- Prepare uma carga de trabalho Arm para implementação
- Migre a aplicação x86 no GKE para multi-arquitetura com Arm