Nesta página, mostramos como criar um cluster Alfa do Google Kubernetes Engine (GKE) , que é um cluster do GKE com APIs e recursos Alfa do Kubernetes ativados. Com um cluster Alfa, todos os portões de recursos Alfa disponíveis com a versão do Kubernetes são ativados por padrão. Os portões de recursos Beta que o Kubernetes ativa por padrão também são ativados. É possível modificar os portões de recursos ativados nos padrões do GKE. Para mais informações sobre quais portões de recursos estão disponíveis com versões específicas e quais recursos Beta estão ativados por padrão, consulte Portões de recursos para recursos Alfa ou Beta na documentação do Kubernetes.
Para mais informações sobre como os clusters do GKE funcionam e como escolher o tipo de cluster do GKE a ser criado, consulte Arquitetura de clusters do GKE e Sobre as opções de configuração de clusters.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a Google Cloud CLI para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão mais recente executando o comando
gcloud components update. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.
- Verifique se você tem a permissão correta para criar clusters. Você precisa ser, no mínimo, um Administrador de clusters do Kubernetes Engine Admin.
- Verifique se você conhece as limitações dos clusters Alfa.
Configurar contas de serviço do IAM para o GKE
O GKE usa contas de serviço do IAM anexadas aos nós para
executar tarefas do sistema, como geração de registros e monitoramento. No mínimo, essas contas de serviço de nó
precisam ter o
papel de conta de serviço de nó padrão do Kubernetes Engine
(roles/container.defaultNodeServiceAccount) no projeto. Por padrão,
o GKE usa a
conta de serviço padrão do Compute Engine,
que é criada automaticamente no projeto, como a conta de serviço do nó.
Para conceder o papel roles/container.defaultNodeServiceAccount à
conta de serviço padrão do Compute Engine, siga estas etapas:
Console
- Acesse a página Bem-vindo:
- No campo Número do projeto, clique em Copiar para a área de transferência.
- Acesse a página do IAM:
- Clique em CONCEDER ACESSO.
- No campo Novos participantes, especifique o seguinte valor:
SubstituaPROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERpelo número do projeto que você copiou. - No menu Selecionar um papel, selecione o papel Conta de serviço de nó padrão do Kubernetes Engine.
- Clique em Salvar.
gcloud
- Encontre seu Google Cloud número do projeto:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Substitua
PROJECT_IDpelo ID do seu projeto.O resultado será assim:
12345678901
- Conceda o papel
roles/container.defaultNodeServiceAccountà conta de serviço padrão 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_NUMBERpelo número do projeto da etapa anterior.
Criar cluster alfa
É possível criar um cluster Alfa usando o Google Cloud console ou a CLI gcloud. Para criar um cluster que especifique os feature gates a serem ativados ou desativados de maneira diferente dos valores padrão, use a CLI gcloud.
Console
No Google Cloud console do, acesse a página Criar um cluster do Kubernetes.
Na seção Princípios básicos do cluster, conclua o seguinte:
- Insira o Nome do cluster.
- Em Tipo de local, selecione Por zona e selecione a zona do cluster.
- Se você estiver criando um cluster de várias zonas, marque a caixa de seleção Especificar os locais padrão do nó e escolha as outras zonas em que quer executar os pools de nós.
Na lista suspensa Canal de lançamento, selecione Nenhum canal.
Opcional: especifique uma versão do plano de controle na lista suspensa Versão.
Opcional: configure outras configurações para o novo cluster.
Opcional: se você quiser registrar o novo cluster em uma frota, acesse a seção Registro da frota e siga as instruções do Google Cloud console para Criar e registrar um novo cluster e concluir o registro dele.
No painel de navegação, em Pools de nós, clique em default-pool.
Na seção Detalhes do pool de nós, preencha o seguinte:
- Insira um Nome para o pool de nós padrão.
- Opcional: escolha a Versão do nó.
- Digite o Número de nós a serem criados no cluster. É necessário ter uma cota de recursos disponível para os nós e os recursos deles (como rotas de firewall).
- Opcional: é possível desativar os upgrades automáticos de nós. No entanto, recomendamos que você leia as considerações antes de desativar os upgrades automáticos de nós antes de escolher essa opção.
- Desmarque as opções Ativar upgrade automático e Ativar reparo automático.
No painel de navegação, em Pools de nós, clique em Nós.
Na lista suspensa Tipo de imagem, selecione a imagem de nó.
Escolha a Configuração da máquina padrão para usar nas instâncias. O faturamento varia de acordo com cada tipo de máquina. O tipo de máquina padrão é
e2-medium. Para informações sobre preços de tipos de máquina, consulte a tabela de preços.Na lista suspensa Tipo de disco de inicialização, selecione o tipo de disco.
Digite o Tamanho do disco de inicialização.
Opcional: no painel de navegação, em Pools de nós, clique em Segurança.
- Opcional: especifique uma conta de serviço do IAM personalizada para seus nós:
- Na página Configurações avançadas, expanda a seção Segurança.
- No menu Conta de serviço, selecione a conta de serviço preferida.
Recomendamos que você especifique uma conta de serviço do IAM com privilégios mínimos para que os nós possam usar em vez da conta de serviço padrão do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte Usar uma conta de serviço privilégio mínimo mínimos.
No painel de navegação, em Cluster, clique em Recursos.
Clique em Ativar recursos alfa do Kubernetes neste cluster.
Leia e confirme o aviso selecionando Entendo as consequências.
Clique em Criar.
gcloud
Execute este comando:
gcloud container clusters create CLUSTER_NAME \
--enable-kubernetes-alpha \
--no-enable-autorepair \
--no-enable-autoupgrade \
--location CONTROL_PLANE_LOCATION [\
--alpha-cluster-feature-gates FEATURE_GATES_LIST]
Substitua:
CLUSTER_NAME: o nome escolhido para o cluster.CONTROL_PLANE_LOCATION: o local do Compute Engine do plano de controle do cluster. Forneça uma região para clusters regionais ou uma zona para clusters zonais.--cluster-version VERSION: (opcional) especifica a versão do GKE que será executada no cluster. Se omitido, o cluster executa a versão de patch padrão para criação de cluster para Nenhum canal, conforme mostrado na tabela Versões atuais.FEATURE_GATES_LIST: a lista de portões de recursos a serem ativados ou desativados de maneira diferente dos valores padrão. Cada string representa a ativação ou desativação de um feature gate. Por exemplo,featureX=true, featureY=false. Quando você omite essa flag, o GKE cria o cluster usando os valores padrão para o GKE, o que significa que todos os portões de recursos Alfa disponíveis com a versão do Kubernetes estão ativados. Os portões de recursos Beta ativados por padrão pelo Kubernetes também estão ativados. Para mais informações sobre quais portões de recursos estão disponíveis com versões específicas e quais recursos Beta estão ativados por padrão, consulte Portões de recursos para recursos Alfa ou Beta na documentação do Kubernetes. Quando você inclui essa flag, modifica quais portões de recursos estão ativados em relação a como os portões de recursos são definidos por padrão pelo GKE. Para mais informações, consulte Portões de recursos e clusters Alfa.
Recomendamos que você especifique uma conta de serviço do IAM com privilégios mínimos para que os nós possam usar em vez da conta de serviço padrão do Compute Engine. Para saber como criar uma conta de serviço com privilégios mínimos, consulte Usar uma conta de serviço privilégio mínimo mínimos.
Para especificar uma conta de serviço personalizada na CLI gcloud, adicione a seguinte flag ao comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.comSubstitua SERVICE_ACCOUNT_NAME pelo nome da conta de serviço com privilégios mínimos.
Será necessário confirmar o recebimento de um aviso de que o cluster Alfa não foi atualizado e será excluído após 30 dias:
This will create a cluster with Kubernetes alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.
Interagir com um cluster usando a kubectl
Depois de criar um cluster, é preciso
configurar kubectl
antes de interagir com o cluster a partir da linha de comando.
Verificar o estado do feature gate de um cluster Alfa
Com clusters Alfa, é possível ativar ou desativar seletivamente os portões de recursos. Para mais informações, consulte Portões de recursos e clusters Alfa .
Para verificar o estado do feature gate do cluster, consulte Verificar o estado do feature gate.
Verificar quando um cluster Alfa expira
Para verificar quando os clusters Alfa expiram, execute o seguinte comando:
gcloud container clusters list
Resolver problemas na criação de um cluster Alfa com portões de recursos
Se você tentar criar um cluster com um feature gate inválido ou um feature gate que não é compatível com a versão do Kubernetes do cluster, ele poderá ser criado em um estado de erro.
Você pode encontrar uma mensagem semelhante à seguinte no Cloud Logging:
failed to set feature gates from initial flags-based config:
unrecognized feature gate: UNRECOGNIZED_FEATURE_GATE_NAME
Se você encontrar esse erro, exclua o cluster com falha. Verifique a ortografia e a compatibilidade dos portões de recursos com a versão do Kubernetes fornecida. Em seguida, tente criar o cluster novamente.
A seguir
- Saiba mais sobre os tipos de clusters que podem ser criados.
- Saiba como gerenciar os clusters.
- Saiba como excluir clusters.