Criar um cluster alfa

Esta página mostra como criar um cluster alfa do Google Kubernetes Engine (GKE), que é um cluster do GKE com APIs e funcionalidades alfa do Kubernetes ativadas. Com um cluster alfa, todos os gates de funcionalidades alfa disponíveis com a versão do Kubernetes estão ativados por predefinição. Os gates de funcionalidades beta que o Kubernetes ativa por predefinição também estão ativados. Pode modificar as predefinições do GKE para determinar que funcionalidades estão ativadas. Para mais informações sobre os feature gates disponíveis com versões específicas e as funcionalidades beta ativadas por predefinição, consulte o artigo Feature gates para funcionalidades alfa ou beta na documentação do Kubernetes.

Para mais informações sobre como funcionam os clusters do GKE e como escolher que tipo de cluster do GKE criar, consulte a arquitetura do cluster do GKE e acerca das opções de configuração do cluster.

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.

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

  1. Aceda à página Boas-vindas:

    Aceder a Boas-vindas

  2. No campo Número do projeto, clique em Copiar para a área de transferência.
  3. Aceda à página IAM:

    Aceda ao IAM

  4. Clique em Conceder acesso.
  5. No campo Novos responsáveis, especifique o seguinte valor:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Substitua PROJECT_NUMBER pelo número do projeto que copiou.
  6. No menu Selecionar uma função, selecione a função Conta de serviço do nó predefinido do Kubernetes Engine.
  7. Clique em Guardar.

gcloud

  1. 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
    
  2. 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 alfa

Pode criar um cluster alfa através da Google Cloud consola ou da CLI gcloud. Para criar um cluster que especifique os feature gates a ativar ou desativar de forma diferente dos valores predefinidos, use a CLI gcloud.

Consola

  1. Na Google Cloud consola, aceda à página Criar um cluster do Kubernetes.

    Aceda a Crie um cluster do Kubernetes

  2. Na secção Noções básicas do cluster, conclua o seguinte:

    1. Introduza o Nome do cluster.
    2. Para o Tipo de localização, selecione Zonal e, de seguida, selecione a zona para o seu cluster.
    3. Se estiver a criar um cluster multizonal, selecione a caixa de verificação Especificar localizações de nós predefinidas e, em seguida, escolha zonas adicionais nas quais quer que os conjuntos de nós sejam executados.
    4. Na lista pendente Canal de lançamento, selecione Nenhum canal.

    5. Opcional: especifique uma versão do plano de controlo na lista pendente Versão.

  3. Opcional: configure outras definições para o novo cluster.

  4. Opcional: se quiser registar o novo cluster numa frota, aceda à secção Registo de frotas e siga as Google Cloud instruções da consola para criar e registar um novo cluster para concluir o registo do cluster.

  5. No painel de navegação, em Node Pools, clique em default-pool.

  6. Na secção Detalhes do conjunto de nós, conclua o seguinte:

    1. Introduza um Nome para o conjunto de nós predefinido.
    2. Opcional: escolha a versão do Node.
    3. Introduza o Number of nodes (Número de nós) a criar no cluster. Tem de ter quota de recursos disponível para os nós e os respetivos recursos (como trajetos de firewall).
    4. Opcional: pode optar por desativar as atualizações automáticas de nós. No entanto, recomendamos que reveja as considerações antes de desativar as atualizações automáticas de nós antes de escolher esta opção.
    5. Desmarque as opções Ativar atualização automática e Ativar reparação automática.
  7. No painel de navegação, em Node Pools, clique em Nodes.

  8. Na lista pendente Tipo de imagem, selecione a imagem do nó.

  9. Escolha a configuração da máquina predefinida a usar para as instâncias. Cada tipo de máquina é faturado de forma diferente. O tipo de máquina predefinido é e2-medium. Para ver informações sobre os preços dos tipos de máquinas, consulte a folha de preços dos tipos de máquinas.

  10. Na lista pendente Tipo de disco de arranque, selecione o tipo de disco.

  11. Introduza o tamanho do disco de arranque.

  12. Opcional: no painel de navegação, em Conjuntos de nós, clique em Segurança.

  13. Opcionalmente, especifique uma conta de serviço do IAM personalizada para os seus nós:
    1. Na página Definições avançadas, expanda a secção Segurança.
    2. 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.

  14. No painel de navegação, em Cluster, clique em Funcionalidades.

  15. Clique em Ativar funcionalidades alfa do Kubernetes neste cluster.

  16. Leia e confirme o aviso selecionando Compreendo as consequências.

  17. Clique em Criar.

gcloud

Execute o seguinte 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 o seguinte:

  • CLUSTER_NAME: o nome que escolher para o cluster.
  • 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-version VERSION: (opcional) especifica a versão do GKE a executar no cluster. Se for omitido, o cluster executa a versão de patch predefinida para a criação de clusters para Nenhum canal, conforme mostrado na tabela Versões atuais.
  • FEATURE_GATES_LIST: a lista de gates de funcionalidades a ativar ou desativar de forma diferente dos valores predefinidos. Cada string representa a ativação ou a desativação de um Feature Gate. Por exemplo, featureX=true, featureY=false. Quando omite esta flag, o GKE cria o cluster com os valores predefinidos do GKE, o que significa que todos os feature gates alfa disponíveis com a versão do Kubernetes estão ativados. Os gates de funcionalidades beta ativados por predefinição pelo Kubernetes também estão ativados. Para mais informações sobre os gates de funcionalidades disponíveis com versões específicas e as funcionalidades beta ativadas por predefinição, consulte o artigo Gates de funcionalidades para funcionalidades alfa ou beta na documentação do Kubernetes. Quando inclui esta flag, modifica as feature gates ativadas em relação à forma como as feature gates são definidas por predefinição pelo GKE. Para mais informações, consulte Feature gates e clusters alfa.

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.

É-lhe pedido que confirme um aviso de que o cluster alfa não é atualizado e é eliminado 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.

Interaja com um cluster através do kubectl

Depois de criar um cluster, tem de o configurar kubectl antes de poder interagir com o cluster a partir da linha de comandos.

Verifique o estado do Feature Gate para um cluster alfa

Com os clusters alfa, pode ativar ou desativar seletivamente os gates de funcionalidades. Para mais informações, consulte o artigo Feature gates e clusters alfa.

Para verificar o estado do Feature Gate do seu cluster, consulte o artigo Verificar o estado do Feature Gate.

Verifique quando um cluster alfa expira

Para verificar quando os clusters alfa expiram, execute o seguinte comando:

gcloud container clusters list

Resolva problemas de criação de um cluster alfa com Feature Gates

Se tentar criar um cluster com um Feature Gate inválido ou um Feature Gate não suportado para a versão do Kubernetes do seu cluster, o cluster pode ser criado num estado de erro.

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 encontrar este erro, elimine o cluster com falhas. Verifique a ortografia e a compatibilidade dos feature gates com a versão do Kubernetes fornecida. Em seguida, tente criar o cluster novamente.

O que se segue?