Um cluster de usuários do GKE na AWS hospeda 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.
Provisione um GKE no cluster de usuários da AWS com os
recursos personalizados
AWSCluster e
AWSNodePool.
Antes de começar
Para criar um cluster de usuários, primeiro é necessário instalar um serviço de gerenciamento.
Para se conectar ao GKE nos recursos da AWS, execute 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:
Mude para o diretório com o GKE na configuração da AWS. Você criou esse diretório ao instalar o serviço de gerenciamento.
cd anthos-aws
Para abrir o túnel, execute o script
bastion-tunnel.sh. O túnel encaminha paralocalhost:8118.Para abrir um túnel para o Bastion Host, execute o seguinte comando:
./bastion-tunnel.sh -NAs 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.
Abra um novo terminal e mude para o diretório
anthos-aws.cd anthos-aws
Verifique se você consegue se conectar ao cluster com
kubectl.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoA 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
O GKE na AWS não é compatível 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.
Abra o terminal e, se necessário, conecte-se ao Bastion Host.
Altere o diretório para a pasta que você criou ao instalar o serviço de gerenciamento.
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.yamlTerraform 0.14.3+
terraform output -raw cluster_example > cluster-0.yamlPara mais informações sobre o conteúdo desse arquivo, consulte as documentações
AWSClustereAWSNodePool.Abra o arquivo em um editor de texto e edite-o se necessário. Por padrão, o GKE na AWS cria 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 mudar os tipos de instância dos nós do GKE na AWS. Também é possível ativar a geração de registros e o monitoramento nos nós do plano de controle.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.
Use
anthos-gke aws clusters get-credentialspara gerar umkubeconfigpara o cluster de usuários em~/.kube/config.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAMESubstitua CLUSTER_NAME pelo nome do cluster. Por exemplo,
cluster-0.Use
kubectlpara se autenticar no novo cluster de usuário.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoSe 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.
No diretório
anthos-aws, useanthos-gkepara alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Para listar os clusters, use
kubectl get AWSClusters.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClustersA 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
AWSClusterchamadocluster-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 Kubernetes
recentes no cluster de usuário, use o kubectl get events.
No diretório
anthos-aws, useanthos-gkepara alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
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:
No diretório
anthos-aws, useanthos-gkepara alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl deletepara excluir o manifesto que contém seus clusters de usuário.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILESubstitua 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:
No diretório
anthos-aws, useanthos-gkepara alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl deletepara 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 o GKE na AWS.
A seguir
Inicie sua primeira carga de trabalho no GKE na AWS.
Configure seu provedor de identidade com o GKE Identity Service.
Crie um cluster de usuários personalizado com configurações diferentes.
Configure a rede da AWS para balancear suas cargas de trabalho.
Leia as especificações das definições de recursos personalizados do AWSCluster e do AWSNodePool.