Criar um cluster de utilizadores

Um cluster de utilizador do GKE no AWS aloja as suas cargas de trabalho do Kubernetes. Este tópico mostra como criar um cluster de utilizadores básico. Se quiser configurar ainda mais um cluster de utilizadores, consulte o artigo Criar um cluster de utilizadores personalizado.

Aprovisiona um cluster de utilizadores do GKE on AWS com os AWSCluster e os AWSNodePool recursos personalizados.

Antes de começar

Para criar um cluster de utilizadores, primeiro tem de instalar um serviço de gestão.

Para se ligar aos seus recursos do GKE no AWS, siga os passos abaixo. Selecione se tem uma VPC da AWS existente (ou uma ligação direta à sua VPC) ou se criou uma VPC dedicada quando criou o seu serviço de gestão.

VPC existente

Se tiver uma ligação direta ou VPN a uma VPC existente, omita a linha env HTTP_PROXY=http://localhost:8118 dos comandos neste tópico.

VPC dedicada

Quando cria um serviço de gestão numa VPC dedicada, o GKE no AWS inclui um anfitrião bastion numa sub-rede pública.

Para se ligar ao seu serviço de gestão, siga estes passos:

  1. Altere para o diretório com a configuração do GKE na AWS. Criou este diretório quando Instalou o serviço de gestão.

    cd anthos-aws

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

    Para abrir um túnel para o anfitrião bastion, execute o seguinte comando:

    ./bastion-tunnel.sh -N
    

    As mensagens do túnel SSH aparecem nesta janela. Quando quiser fechar a ligação, pare o processo com 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 consegue estabelecer ligação ao cluster com kubectl.

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

    O resultado inclui o URL do servidor da API do serviço de gestão.

Selecionar um tamanho da instância do plano de controlo

O GKE on AWS não suporta o redimensionamento de instâncias do plano de controlo. Antes de criar o cluster de utilizadores, selecione o tamanho da instância dos planos de controlo. Os tamanhos do plano de controlo dependem do número de nós no cluster. A tabela seguinte contém tamanhos de instâncias do plano de controlo recomendados para vários tamanhos de clusters.

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

Criar um cluster de utilizadores

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

  1. Abra o terminal e, se necessário, ligue-se ao anfitrião bastion.

  2. Altere o diretório para a pasta que criou quando Instalou o serviço de gestão.

  3. Use o Terraform para gerar um manifesto que configure um cluster de exemplo e guarde-o num ficheiro YAML. Escolha a sua versão do Terraform e, de seguida, execute os seguintes comandos:

    Terraform 0.12 e 0.13

    terraform output cluster_example > cluster-0.yaml
    

    Terraform 0.14.3 ou superior

    terraform output -raw cluster_example > cluster-0.yaml
    

    Para mais informações sobre o conteúdo deste ficheiro, consulte a documentação AWSCluster e AWSNodePool.

  4. Abra o ficheiro num editor de texto e edite-o, se necessário. Por predefinição, o GKE on AWS cria pools de nós em cada zona de disponibilidade especificada em anthos-gke.yaml. Pode alterar o tamanho e o número de pools de nós para corresponder ao cluster pretendido. Também pode fazer alterações adicionais à sua configuração. Por exemplo, pode alterar os tipos de instâncias dos seus nós do GKE no AWS. Também pode ativar o registo e a monitorização nos seus nós do plano de controlo.

  5. Aplique o ficheiro ao seu serviço de gestão.

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

Crie um kubeconfig

Enquanto o cluster de utilizadores é iniciado, pode criar um kubeconfig contexto para o seu novo cluster de utilizadores. Usa o contexto para autenticar um utilizador ou um cluster de gestão.

  1. Use anthos-gke aws clusters get-credentials para gerar um kubeconfig para o seu cluster de utilizadores no ~/.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 utilizadores.

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

    Se o cluster estiver pronto, o resultado inclui os URLs dos componentes do Kubernetes no cluster.

Ver o estado do cluster

O serviço de gestão aprovisiona recursos da AWS quando aplica um AWSCluster ou AWSNodePool.

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.

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

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

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

    O resultado inclui o nome, o estado, a idade, a versão e o ponto final de cada cluster.

    Por exemplo, a saída seguinte inclui apenas um AWSCluster denominado cluster-0:

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

Veja os eventos do seu cluster

Para ver os eventos do Kubernetes recentes do cluster de utilizadores, use kubectl get events.

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.

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

  2. Corrida kubectl get events.

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

O resultado inclui informações, avisos e erros relacionados com o seu serviço de gestão.

Eliminar um cluster de utilizadores

Para eliminar um cluster de utilizadores, siga estes passos:

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.

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

  2. Use kubectl delete para eliminar o manifesto que contém os seus clusters de utilizadores.

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

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

Eliminar todos os clusters de utilizadores

Para eliminar todos os seus clusters de utilizadores, siga estes passos:

  1. No diretório do anthos-aws, use anthos-gke para mudar o contexto para o seu serviço de gestão.

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

  2. Use kubectl delete para eliminar os seus AWSNodePools e AWSClusters do seu serviço de gestão.

    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 o artigo Desinstalar o GKE no AWS.

O que se segue?