Os clusters Alfa são clusters de curta duração do Google Kubernetes Engine (GKE) que ativam APIs e recursos Alfa do Kubernetes e podem executar versões Alfa de versões secundárias futuras. Este documento mostra como criar um cluster Alfa, ativar ou desativar gates de recursos específicos e executar versões de patch Alfa no canal de lançamento rápido. Os clusters Alfa são destinados a usuários pioneiros e administradores de plataforma que querem testar os próximos recursos e versões do Kubernetes.
Para mais informações sobre como os clusters do GKE funcionam e como escolher qual tipo de cluster do GKE criar, consulte Arquitetura de cluster do GKE e Sobre opções de configuração de cluster.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ative a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Para usar a Google Cloud CLI nesta tarefa,
instale e
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.
- Analise as limitações dos clusters Alfa.
Funções exigidas
Para receber as permissões necessárias para criar e interagir com clusters Alfa,
peça ao administrador para conceder a você o papel do IAM de
Administrador do cluster do Kubernetes Engine (roles/container.clusterAdmin) no seu projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
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
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 seu 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 Boas-vindas:
- 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 o número do projeto Google Cloud :
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Substitua
PROJECT_IDpelo ID do projeto.O resultado será o seguinte:
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 console Google Cloud ou a CLI gcloud. Recomendamos que você use a CLI gcloud pelos seguintes motivos:
- É possível registrar seu cluster no canal de lançamento rápido, que é recomendado para clusters alfa.
É possível especificar os feature gates Alfa ou Beta para ativar ou desativar de maneira diferente dos valores padrão.
Console
No console do Google Cloud , 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 (descontinuado).
Opcional: especifique uma versão do plano de controle na lista suspensa Versão.
Opcional: configure outras definições para o novo cluster.
Opcional: se você quiser registrar o novo cluster em uma frota, acesse a seção Configurações avançadas e siga as instruções do console do Google Cloud 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.
- Se quiser, especifique uma conta de serviço personalizada do IAM 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 de sua preferência.
Recomendamos especificar uma conta de serviço do IAM com privilégios mínimos para os nós usarem 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, clique em Configurações avançadas.
Na linha Recursos Alfa do Kubernetes, clique em edit Editar configuração.
Selecione Ativar os recursos Alfa do Kubernetes neste cluster.
Leia e confirme o aviso selecionando Entendo as consequências.
Clique em Salvar.
Clique em Criar.
gcloud
Execute este comando:
gcloud container clusters create CLUSTER_NAME \
--release-channel=CHANNEL \
--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.CHANNEL: o tipo de canal de lançamento. Esse valor precisa ser um dos seguintes:rapid: inscreva-se no canal de lançamento rápido, que é o recomendado para clusters Alfa.regular: registre-se no canal de lançamento regular.stable: registre-se no canal de lançamento estável.none: não se inscreve em um canal de lançamento. Essa opção foi descontinuada e será removida.
CONTROL_PLANE_LOCATION: o local do Compute Engine do plano de controle do cluster. Informe 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 vai executar a versão de patch padrão para criação de cluster do canal de lançamento selecionado, conforme mostrado na tabela Versões atuais.FEATURE_GATES_LIST: a lista de feature gates 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 do GKE. Isso significa que todos os gates de recursos Alfa disponíveis com a versão do Kubernetes são ativados. Os feature gates Beta ativados por padrão pelo Kubernetes também sã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. Ao incluir essa flag, você modifica quais gates de recursos são ativados em relação a como eles são definidos por padrão pelo GKE. Para mais informações, consulte Feature gates e clusters alfa.
Recomendamos especificar uma conta de serviço do IAM com privilégios mínimos para os nós usarem 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 a kubectl antes de interagir com o cluster a partir da linha de comando.
Verificar o estado do feature gate para um cluster Alfa
Com os clusters Alfa, é possível ativar ou desativar seletivamente os feature gates. Para mais informações, consulte Feature gates e clusters Alfa.
Para verificar o estado do feature gate do cluster, consulte Verificar o estado do feature gate.
Executar versões de patch Alfa em clusters Alfa
Os clusters Alfa inscritos no canal de lançamento rápido podem executar versões de patch Alfa das próximas versões secundárias do Kubernetes. Essas versões Alfa oferecem acesso antecipado para testar recursos e mudanças na próxima versão secundária antes que o GKE disponibilize essa versão secundária para todos os clusters no Canal rápido.
Para identificar e executar versões de patch alfa em clusters alfa, siga estas etapas:
Identifique as versões Alfa disponíveis no canal rápido:
gcloud container get-server-config \ --flatten="channels" --filter="channels.channel=RAPID" \ --location=LOCATION \ --format="yaml(channels.channel,channels.previewVersions)"Substitua
LOCATIONpela região em que você planeja criar o cluster Alfa, comous-central1.O resultado será o seguinte:
channels: channel: RAPID previewVersions: - 1.37.0-gke.1173000+previewSe a saída estiver vazia, as versões Alfa não estarão disponíveis nessa região. Tente outra região ou confira as notas da versão do canal rápido para informações sobre a versão.
Crie o cluster Alfa:
gcloud container clusters create CLUSTER_NAME \ --release-channel=rapid \ --enable-kubernetes-alpha \ --no-enable-autorepair \ --no-enable-autoupgrade \ --location=CONTROL_PLANE_LOCATION \ --cluster-version=ALPHA_VERSIONSubstitua:
CLUSTER_NAME: um nome para o cluster Alfa.CONTROL_PLANE_LOCATION: a região ou zona do plano de controle do cluster. Use a mesma região em que você verificou a disponibilidade da versão Alfa na etapa anterior ou uma zona nessa região.ALPHA_VERSION: a versão específica do patch alfa a ser executada no cluster, da saída da etapa anterior.
Verificar quando um cluster Alfa expira
Para verificar quando os clusters Alfa expiram, execute o seguinte comando:
gcloud container clusters list
Resolver problemas ao criar um cluster Alfa com feature gates
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 a esta 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 feature gates com a versão do Kubernetes fornecida. Em seguida, tente criar o cluster de novo.
A seguir
- Saiba mais sobre os tipos de clusters que podem ser criados.
- Saiba como gerenciar os clusters.
- Saiba como excluir clusters.