Como criar um cluster

Nesta página, mostramos como criar um cluster no Google Kubernetes Engine. Para saber como os clusters funcionam, consulte Arquitetura do cluster.

Antes de começar

Execute as etapas a seguir para se preparar para a tarefa:

  • Verifique se você ativou a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona padrão do Compute:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região padrão do Compute:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Tipos de clusters

É possível criar quatro tipos de clusters no GKE:

Clusters zonais
Um cluster zonal é executado em uma ou mais zonas do Compute em uma região. Um cluster de várias zonas executa os nós em duas ou mais zonas do Compute em uma única região. Os clusters zonais executam um único mestre do cluster.
Cluster regional
Um cluster regional executa três mestres do cluster em três zonas do Compute e executa nós em duas ou mais zonas do Compute.
Cluster particular
Um cluster particular é um cluster zonal ou regional que oculta o próprio mestre e os nós da Internet pública por padrão.
Cluster Alfa
Um cluster Alfa é um cluster de teste regional ou de zona executado com recursos Alfa do Kubernetes ativados. Os clusters Alfa têm validade de 30 dias, não têm direito a upgrades, não recebem atualizações de segurança e não são compatíveis com o uso em produção.

Como especificar a versão ou o canal de lançamento

Ao criar ou fazer upgrade de um cluster, é possível especificar um canal de lançamento ou uma versão exata do cluster. Recomendamos o uso de canais de lançamento, que permitem manter os clusters atualizados, estáveis e seguros de acordo com as necessidades das cargas de trabalho de cada cluster.

Clusters nativos de VPC e baseados em rotas

No Google Kubernetes Engine, os clusters podem ser diferenciados de acordo com a forma como encaminham o tráfego de um pod para outro. Um cluster que usa IPs de alias é chamado de cluster nativo de VPC. O cluster que usa as rotas do Google Cloud Platform é chamado de cluster baseado em rotas.

Nativo de VPC é o modo de rede recomendado para novos clusters.

O modo de rede padrão do cluster depende da maneira como o cluster é criado. Veja detalhes neste gráfico.

Modelos de cluster

Ao criar um novo cluster usando o Console do GCP, você vê todos os modelos de cluster disponíveis. O modelo Padrão é selecionado automaticamente. Para saber mais sobre um modelo específico e as predefinições incluídas, clique na entrada dele. As predefinições são mostradas no painel de informações no lado direito da página.

Os seguintes modelos estão disponíveis:

  • Cluster padrão: equivalente aos padrões anteriores para um novo cluster zonal de três nós.
  • Seu primeiro cluster: um pequeno cluster que executa nós menos potentes e desativa alguns recursos avançados, como escalonamento automático.
  • Aplicativos com uso intensivo da CPU: um cluster com nós que fornecem CPUs com vários núcleos mais potentes que um cluster padrão.
  • Aplicativos com uso intensivo de memória: um cluster com nós que fornecem CPUs de vários núcleos com potência média e uma grande quantidade de memória.
  • Computação acelerada de GPU: um cluster com um pool de nós padrão configurado com nós menos potentes e um pool de nós extra ativado para GPU. O escalonamento automático fica desativado por padrão.
  • Altamente disponível: o cluster é configurado como regional, com mestres disponíveis em cada zona de uma determinada região. O escalonamento automático e a janela de manutenção estão ativados.

Depois de escolher o modelo, é possível personalizar o cluster.

Além dos modelos disponíveis, é possível clonar um cluster atual.

Como personalizar as predefinições de um modelo

Para personalizar o cluster, primeiro clique no modelo que melhor corresponde ao seu caso de uso. Antes de criar o cluster, qualquer campo editável pode ser alterado.

  • Para configurar opções avançadas de todo o cluster, clique em Opções avançadas na parte inferior do formulário.
  • Para configurar as CPUs ou a memória para os nós em um determinado pool de nós, clique em Personalizar.
  • Para configurar opções avançadas para um determinado pool de nós, clique em Edição avançada.

Como clonar um cluster atual

Para usar a configuração de um cluster existente como base para o novo cluster, clique em Clonar um cluster existente em vez de um modelo de cluster. Selecione o cluster a ser clonado no menu suspenso.

Como trabalhar com vários clusters

Se você trabalha com vários clusters criados por você, por diferentes usuários do projeto ou usando o Console do Google Cloud Platform, é necessário configurar a ferramenta de linha de comando kubectl para interagir com esses clusters.

Para saber mais, consulte Como configurar o acesso do cluster na kubectl.

Clusters zonais

Por padrão, um cluster é criado em uma única zona do Compute. Um cluster de várias zonas executa nós em diversas zonas na mesma região. Todos os nós em um cluster de zona única ou de zonas múltiplas são controlados pelo mesmo mestre do cluster.

Os clusters de várias zonas podem ajudar a melhorar a disponibilidade dos aplicativos, executando-os em nós de várias zonas. Isso garante proteção contra inatividade no caso improvável de uma interrupção em toda a zona.

Como os clusters de várias zonas funcionam

Quando um cluster de várias zonas é criado do zero ou pela inclusão de zonas em um cluster atual, o GKE iguala a quantidade de recursos em todas elas.

Por exemplo, suponha que você solicite dois nós, cada um com quatro núcleos, e que eles sejam distribuídos no cluster por três zonas. Nesse caso, você teria um total de 24 núcleos, com oito em cada zona.

Há uma tentativa de distribuir os recursos uniformemente pelas zonas para garantir que os pods sejam programados de modo equilibrado entre elas. Isso melhora a disponibilidade e a recuperação de falhas. Se os recursos de computação forem distribuídos de maneira desigual pelas zonas, o programador talvez não consiga agendar os pods uniformemente. Para garantir a distribuição uniforme dos recursos, especifique a antiafinidade do pod.

Os pools de nós em clusters de várias zonas têm automaticamente disponibilidade em várias zonas. Esses nós também recebem rótulos no Kubernetes para indicar o domínio de falha. Assim, eles podem ser considerados pelo programador do Kubernetes.

Como criar um cluster de zona única

gcloud

Para criar um cluster com a ferramenta de linha de comando gcloud, use um dos comandos gcloud container clusters. A primeira variante do comando usa um canal de lançamento e a segunda usa a versão padrão. Para especificar uma versão exata, use a sinalização --cluster-version em vez de --release-channel.

Substitua os valores de rótulo, como [CLUSTER_NAME], pelos valores apropriados.

Como usar um canal de lançamento:

Substitua [CHANNEL] pelo nome do canal de lançamento, um entre stable, regular ou rapid. Os clusters inscritos no canal rapid não são compatíveis com as cargas de trabalho de produção.

gcloud container clusters create [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] \
    --release-channel [CHANNEL]

Como usar a versão padrão:

gcloud container clusters create [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE]

Como usar uma versão específica:

Substitua [VERSION] por uma versão específica.

gcloud container clusters create [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] \
    --cluster-version [VERSION]

Para ver a lista completa de sinalizações opcionais, consulte a documentação de gcloud container clusters create.

Console

Para criar um cluster usando o Console do GCP, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Escolha o Cluster padrão ou um modelo apropriado para a carga de trabalho.

  4. Escolha a versão do cluster selecionando uma destas opções:

    • Escolha o canal de lançamento em que o cluster está inscrito. Seu cluster e os pools de nós receberão upgrade automático nesse canal.
    • Escolha uma versão específica do GKE. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.
    • Escolha a versão padrão. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.

    Recomenda-se o uso de canais de lançamento. Se você precisar especificar uma versão, é recomendável deixar o upgrade automático ativado.

  5. Personalize o modelo se necessário. Os seguintes campos são obrigatórios:

    • Nome: o nome que você escolheu para o cluster. Ele precisa ser exclusivo no projeto e na zona.
    • Tipo de local: define se todos os nós no cluster estão na mesma zona ou podem estar em qualquer zona de uma determinada região.
    • Zona: a zona do Compute Engine em que o cluster será criado se Tipo de local for Zonal.
    • Região: a zona do Compute Engine em que o cluster será criado se o Tipo de local for Regional.
    • Pool de nós:
      • Tamanho do cluster: o número de nós a serem criados no cluster. É preciso ter uma cota de recursos disponível para os nós e os respectivos recursos, como rotas de firewall.
      • Tipo de máquina: o tipo de máquina do Compute Engine a ser usado nas instâncias. A cobrança varia de acordo com cada tipo de máquina. O tipo de máquina padrão é n1-standard-1. Para ver informações sobre preços de tipos de máquina, consulte a tabela de preços.
  6. Clique em Criar.

Depois de criar um cluster no Console do GCP, você precisará configurar a kubectl para interagir com o cluster. Para saber mais, consulte Como gerar uma entrada kubeconfig.

Como criar um cluster de várias zonas

gcloud

Para criar um cluster de várias zonas, defina --zone para a zona do plano de controle do cluster e defina --node-locations para uma lista separada por vírgulas de zonas do Compute em que o plano de controle e os nós são criados. Use um dos comandos a seguir. A primeira variante do comando usa um canal de lançamento e a segunda usa a versão padrão. Para especificar uma versão exata, use a sinalização --cluster-version em vez de --release-channel.

Substitua os valores de marcadores, como [CLUSTER-NAME], pelos valores apropriados.

Como usar um canal de lançamento:

gcloud container clusters create [CLUSTER_NAME] \
    --release-channel [CHANNEL] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],...]

Como usar a versão padrão:

gcloud container clusters create [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],[...]

Como usar uma versão específica:

Substitua [VERSION] por uma versão específica.

gcloud container clusters create [CLUSTER_NAME] \
    --cluster-version [VERSION] \
    --zone [COMPUTE_ZONE] \
    --zone [COMPUTE_ZONE] \
    --node-locations [COMPUTE_ZONE],[COMPUTE_ZONE],[...]

Exemplo:

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Quando a sinalização --num-nodes é omitida, o número padrão de nós por zona criado pelo cluster é três. Como três zonas foram especificadas, esse comando cria um cluster de nove nós com três nós em us-central1-a, us-central1-b e us-central1-c.

Console

Para criar um cluster de várias zonas, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Escolha o Cluster padrão ou um modelo apropriado para a carga de trabalho.

  4. Escolha a versão do cluster selecionando uma destas opções:

    • Escolha o canal de lançamento em que o cluster está inscrito. Seu cluster e os pools de nós receberão upgrade automático nesse canal.
    • Escolha uma versão específica do GKE. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.
    • Escolha a versão padrão. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.

    Recomenda-se o uso de canais de lançamento. Se você precisar especificar uma versão, é recomendável deixar o upgrade automático ativado.

  5. No menu suspenso Zona, selecione a zona que você quer para o painel de controle do cluster. Por exemplo, us-central1-a.

  6. Configure o cluster conforme desejado e clique em Opções avançadas.

  7. Na seção Outros locais de zona, selecione outras zonas em que você quer que o cluster seja executado.

  8. Clique em Salvar para sair da sobreposição de Opções avançadas.

  9. Clique em Criar.

Depois de criar um cluster no Console do GCP, você precisará configurar a kubectl para interagir com o cluster. Para saber mais, consulte Como gerar uma entrada kubeconfig.

Clusters regionais

Os clusters regionais distribuem recursos do Kubernetes entre várias zonas de uma região. O cluster regional cria três mestres do cluster em três zonas e, por padrão, cria nós em três zonas ou em quantas zonas você quiser.

Para saber sobre clusters regionais, consulte a página de conceitos de clusters regionais.

Como criar um cluster regional

É possível criar um cluster regional usando o Console do GCP ou a ferramenta de linha de comando gcloud.

Por padrão, quando um cluster regional é criado, os pools de nós dele são replicados em três zonas.

gcloud

Para criar um cluster regional, execute o comando a seguir:

gcloud container clusters create [CLUSTER_NAME] \
    --region [REGION] \
    [--node-locations [COMPUTE_ZONE],[COMPUTE_ZONE]...]]

em que [CLUSTER_NAME] é o nome escolhido para o cluster regional e [REGION] é a região pretendida, como us-central1. Nas regiões com mais de três zonas ou em casos em que uma quantidade menor delas seja recomendada, a sinalização opcional --node-locations modifica as zonas padrão em que os nós são replicados.

Por exemplo, para criar um cluster regional com nove nós em us-west1 (três zonas com três nós cada, que é o padrão):

gcloud container clusters create my-regional-cluster --region us-west1

Para criar um cluster regional com seis nós (três zonas com dois nós cada, especificadas por --num-nodes):

gcloud container clusters create my-regional-cluster \
    --num-nodes 2 \
    --region us-west1

Para criar um cluster regional com seis nós em duas zonas (duas zonas especificadas por --node-locations, com três nós cada):

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

Especifique um canal de lançamento usando a sinalização --release-channel ou especifique a versão exata de um cluster usando a sinalização --cluster-version. Se você não usar nenhum deles, o cluster usará a versão padrão atual.

Console

Para criar um cluster regional, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Escolha o modelo de cluster Altamente disponível.

  4. Escolha a versão do cluster selecionando uma destas opções:

    • Escolha o canal de lançamento em que o cluster está inscrito. Seu cluster e os pools de nós receberão upgrade automático nesse canal.
    • Escolha uma versão específica do GKE. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.
    • Escolha a versão padrão. O upgrade automático é ativado por padrão, e seu cluster e os respectivos pools de nós receberão upgrade automático quando a versão atual for selecionada para o upgrade automático.

    Recomenda-se o uso de canais de lançamento. Se você precisar especificar uma versão, é recomendável deixar o upgrade automático ativado.

  5. Verifique se Regional está selecionado em Tipo de local.

  6. No menu suspenso Região, selecione a região pretendida, como us-central1.

  7. Configure o cluster conforme desejado e clique em Criar.

Depois de criar um cluster no Console do GCP, você precisará configurar a kubectl para interagir com o cluster. Para saber mais, consulte Como gerar uma entrada kubeconfig.

Clusters particulares

Para saber como criar um cluster particular, consulte o Guia de instruções do cluster particular.

Clusters Alfa

Os clusters Alfa são de curta duração e executam versões estáveis do Kubernetes com todas as APIs e recursos do Kubernetes ativados.

Para saber mais sobre clusters Alfa e as limitações deles, consulte o tópico relacionado.

Como criar um cluster Alfa

O upgrade e o reparo automáticos do nó são desativados automaticamente nos clusters Alfa.

Não é possível se cadastrar em um cluster Alfa em um canal de lançamento.

gcloud

Para criar um cluster Alfa, execute o comando a seguir:

gcloud container clusters create [CLUSTER_NAME] \
    --enable-kubernetes-alpha \
    [--zone [COMPUTE_ZONE]] \
    [--cluster-version [VERSION]]

em que:

  • [CLUSTER_NAME] é o nome escolhido para o cluster;
  • [COMPUTE_ZONE] é a zona do Compute Engine em que o cluster será criado. A sinalização --zone opcional substitui a propriedade compute/zone padrão definida por gcloud config set compute/zone. Observação: defina a zona padrão do Compute usando gcloud config set compute/zone [COMPUTE_ZONE] ou especifique usando --zone;
  • [VERSION] é a versão do GKE a ser executada no cluster. Se não for configurada, o cluster executará a versão padrão atual documentada em Controle de versões e upgrades.

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 all 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.

Console

Para criar um cluster Alfa, siga estas etapas:

  1. Acesse o menu do Google Kubernetes Engine no Console do GCP.

    Acessar o menu do Google Kubernetes Engine

  2. Clique em Criar cluster.

  3. Escolha o Cluster padrão ou um modelo apropriado para a carga de trabalho.

  4. No menu suspenso Versão do cluster, selecione a versão do GKE desejada para execução no cluster.

  5. Configure o cluster como quiser.

  6. Clique em Opções avançadas. Próximo à parte inferior da página, selecione Ativar os recursos Alfa do Kubernetes neste cluster.

  7. Leia e confirme o aviso selecionando Entendo as consequências.

  8. Clique em Criar.

Depois de criar um cluster no Console do GCP, você precisará configurar a kubectl para interagir com o cluster. Para saber mais, consulte Como gerar uma entrada kubeconfig.

Expiração do cluster Alfa

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

gcloud container clusters list

Clusters com autorização binária

A autorização binária é um serviço do GCP que fornece segurança de cadeia de fornecimento de software para aplicativos executados na nuvem. A autorização binária funciona com imagens que você implanta no GKE a partir do Container Registry ou de outro registro de imagens de contêiner. Com a autorização binária, é possível garantir que os processos internos que protegem a qualidade e a integridade do software sejam concluídos com êxito antes que um aplicativo seja implantado em seu ambiente de produção.

Para ver instruções sobre como criar um cluster com a autorização binária ativada, acesse Como criar um cluster na documentação da autorização binária.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Kubernetes Engine