Como criar um cluster de usuário

Os clusters do Anthos no cluster de usuários da AWS (GKE na AWS) hospedam as cargas de trabalho do Kubernetes. Neste tópico, mostramos como criar um cluster básico de usuários. Se você quiser configurar ainda mais um cluster de usuário, consulte Como criar um cluster de usuário personalizado.

Você provisiona clusters do Anthos no cluster de usuário da AWS com o AWSCluster e AWSNodePool recursos personalizados.

Antes de começar

Para criar um cluster de usuários, primeiro é necessário instalar um serviço de gerenciamento.

Para se conectar aos clusters do Anthos nos recursos da AWS, siga as etapas a seguir. Selecione se você tem uma VPC atual da AWS (ou conexão direta com a VPC) ou criou uma VPC dedicada ao criar seu serviço de gerenciamento.

VPC atual

Se você tiver uma conexão direta ou VPN com uma VPC atual, omita a linha env HTTP_PROXY=http://localhost:8118 dos comandos neste tópico.

VPC dedicada

Quando você cria um serviço de gerenciamento em uma VPC dedicada, o GKE na AWS inclui um bastion host em uma sub-rede pública.

Para se conectar ao serviço de gerenciamento, siga estas etapas:

  1. Mude para o diretório com os clusters do Anthos na configuração da AWS. Você criou esse diretório ao instalar o serviço de gerenciamento.

    cd anthos-aws

  2. Para abrir o túnel, execute o script bastion-tunnel.sh. O túnel encaminha para localhost:8118.

    Para abrir um túnel para o Bastion Host, execute o seguinte comando:

    ./bastion-tunnel.sh -N
    

    As mensagens do túnel SSH aparecem nessa janela. Quando estiver pronto para fechar a conexão, interrompa o processo usando Control+C ou fechando a janela.

  3. Abra um novo terminal e mude para o diretório anthos-aws.

    cd anthos-aws
  4. Verifique se você consegue se conectar ao cluster com kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    A saída inclui o URL do servidor da API de serviço de gerenciamento.

Como selecionar um tamanho de instância do plano de controle

Os clusters do Anthos na AWS não são compatíveis com o redimensionamento de instâncias do plano de controle. Antes de criar seu cluster de usuário, selecione o tamanho da instância dos planos de controle. Os tamanhos do plano de controle dependem do número de nós no cluster. A tabela a seguir contém os tamanhos de instância do plano de controle recomendados para vários tamanhos de cluster.

Tamanho do cluster (nós) Tipo de instância do plano de controle
1 – 10 m5.large
11 – 100 m5.xlarge
101 – 200 m5.2xlarge

Como criar um cluster de usuário

Neste exemplo, use terraform para gerar uma configuração a fim de criar um cluster básico. Em seguida, aplique a configuração com kubectl apply.

  1. Abra o terminal e, se necessário, conecte-se ao Bastion Host.

  2. Altere o diretório para a pasta que você criou ao instalar o serviço de gerenciamento.

  3. Use o Terraform a fim de gerar um manifesto para configurar um cluster de exemplo e salve-o em um arquivo YAML. Escolha sua versão do Terraform e execute os seguintes comandos:

    Terraform 0.12, 0.13

    terraform output cluster_example > cluster-0.yaml
    

    Terraform 0.14.3+

    terraform output -raw cluster_example > cluster-0.yaml
    

    Para mais informações sobre o conteúdo desse arquivo, consulte as documentações AWSCluster e AWSNodePool.

  4. Abra o arquivo em um editor de texto e edite-o se necessário. Por padrão, os clusters do Anthos na AWS criam pools de nós em cada zona de disponibilidade especificada em anthos-gke.yaml. É possível alterar o tamanho e o número de pools de nós para que correspondam ao seu cluster. Também é possível fazer outras alterações na sua configuração. Por exemplo, é possível alterar os tipos de instância dos clusters do Anthos nos nós da AWS. Também é possível ativar a geração de registros e o monitoramento nos nós do plano de controle.

  5. Aplique o arquivo ao seu serviço de gerenciamento.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl apply -f cluster-0.yaml
    

Criar um kubeconfig

Enquanto o cluster de usuários é iniciado, é possível criar um contexto kubeconfig para o novo cluster de usuários. Use o contexto para autenticar um usuário ou cluster de gerenciamento.

  1. Use anthos-gke aws clusters get-credentials para gerar um kubeconfig para o cluster de usuários em ~/.kube/config.

    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    

    Substitua CLUSTER_NAME pelo nome do cluster. Por exemplo, cluster-0.

  2. Use kubectl para se autenticar no novo cluster de usuário.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl cluster-info
    

    Se o cluster estiver pronto, a saída incluirá os URLs dos componentes do Kubernetes no cluster.

Como visualizar o status do cluster

O serviço de gerenciamento provisiona recursos da AWS quando você aplica um AWSCluster ou AWSNodePool.

  1. No diretório anthos-aws, use anthos-gke para alternar o contexto para o serviço de gerenciamento.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Para listar os clusters, use kubectl get AWSClusters.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get AWSClusters
    

    A saída inclui o nome, o estado, a idade, a versão e o endpoint de cada cluster.

    Por exemplo, a saída a seguir inclui apenas um AWSCluster chamado cluster-0:

    NAME        STATE          AGE     VERSION         ENDPOINT
    cluster-0   Provisioning   2m41s   1.25.5-gke.2100   gke-xyz.elb.us-east-1.amazonaws.com
    

Ver os eventos do cluster

Para ver os Eventos do Kubernetesrecentes no cluster de usuário, use o kubectl get events.

  1. No diretório anthos-aws, use anthos-gke para alternar o contexto para o serviço de gerenciamento.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Execute kubectl get events.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get events
    

A saída inclui informações, aviso e erros relacionados ao seu serviço de gerenciamento.

Como excluir um cluster de usuário

Para excluir um cluster de usuário, siga estas etapas:

  1. No diretório anthos-aws, use anthos-gke para alternar o contexto para o serviço de gerenciamento.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Use kubectl delete para excluir o manifesto que contém seus clusters de usuário.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete -f CLUSTER_FILE
    

    Substitua CLUSTER_FILE pelo nome do manifesto que contém os objetos do AWScluster e AWSNodePool. Por exemplo, cluster-0.yaml.

Como excluir todos os clusters de usuário

Para excluir todos os clusters de usuário, siga estas etapas:

  1. No diretório anthos-aws, use anthos-gke para alternar o contexto para o serviço de gerenciamento.

    cd anthos-aws
    anthos-gke aws management get-credentials

  2. Use kubectl delete para excluir o AWSNodePools e o AWSClusters do serviço de gerenciamento.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

Para mais informações, consulte Como desinstalar clusters do Anthos no AWS.

A seguir