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:
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
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 -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.
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-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
.
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.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
eAWSNodePool
.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.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-credentials
para gerar umkubeconfig
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
.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
.
No diretório
anthos-aws
, useanthos-gke
para 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 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
chamadocluster-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
.
No diretório
anthos-aws
, useanthos-gke
para 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-gke
para alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
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:
No diretório
anthos-aws
, useanthos-gke
para alternar o contexto para o serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
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
Inicie a primeira carga de trabalho em clusters do Anthos na AWS.
Configure seu provedor de identidade com o Anthos 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.