Um cluster de usuários do GKE na AWS hospeda suas cargas de trabalho do Kubernetes. Este tópico mostra como criar um cluster de usuários básico. Se desejar configurar um cluster de usuários com mais detalhes, consulte "Criando um cluster de usuários personalizado" .
Você provisiona um cluster de usuários do GKE na AWS com os recursos personalizados AWSCluster
e AWSNodePool
.
Antes de começar
Para criar um cluster de usuários, primeiro você precisa instalar um serviço de gerenciamento .
Para se conectar aos seus recursos do GKE na AWS, siga as seguintes etapas. Selecione se você já possui uma VPC da AWS (ou conexão direta com sua VPC) ou se criou uma VPC dedicada ao criar seu serviço de gerenciamento.
VPC existente
Se você tiver uma conexão direta ou VPN com uma VPC existente, omita a linha env HTTP_PROXY=http://localhost:8118
dos comandos neste tópico.
VPC dedicada
Ao criar um serviço de gerenciamento em uma VPC dedicada, o GKE na AWS inclui um bastião host em uma sub-rede pública.
Para se conectar ao seu serviço de gerenciamento, execute as seguintes etapas:
Acesse o diretório com a configuração do GKE na AWS. Você criou este 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 host bastião, execute o seguinte comando:
./bastion-tunnel.sh -N
As mensagens do túnel SSH aparecem nesta janela. Quando estiver pronto para encerrar a conexão, interrompa o processo usando Control+C ou fechando a janela.
Abra um novo terminal e entre no 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 a URL para o servidor da API do serviço de gerenciamento.
Selecionando um tamanho de instância do plano de controle
O GKE na AWS não oferece suporte ao redimensionamento de instâncias do plano de controle. Antes de criar seu cluster de usuário, selecione o tamanho da instância dos seus planos de controle. Os tamanhos dos planos 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.grande |
11 – 100 | m5.xlarge |
101 – 200 | m5.2xgrande |
Criando um cluster de usuários
Neste exemplo, você usa terraform
para gerar uma configuração para criar um cluster básico. Em seguida, você aplica a configuração com kubectl apply
.
Abra seu terminal e, se necessário, conecte-se ao seu bastion host .
Mude o diretório para a pasta que você criou ao instalar o serviço de gerenciamento .
Use o Terraform para gerar um manifesto configurando 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 obter mais informações sobre o conteúdo deste arquivo, consulte a documentação
AWSCluster
eAWSNodePool
.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
. Você pode alterar o tamanho e o número de pools de nós para corresponder ao cluster desejado. Você também pode fazer alterações adicionais na sua configuração. Por exemplo, você pode alterar os tipos de instância dos seus nós do GKE na AWS; você também pode habilitar o registro em log e o monitoramento nos nós do seu plano de controle.Aplique o arquivo ao seu serviço de gerenciamento.
env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -f cluster-0.yaml
Crie um kubeconfig
Enquanto seu cluster de usuários é inicializado, você pode criar um contexto kubeconfig
para o novo cluster. Use o contexto para autenticar em um cluster de usuários ou de gerenciamento.
Use
anthos-gke aws clusters get-credentials
para gerar umkubeconfig
para seu cluster de usuário em~/.kube/config
.env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Substitua CLUSTER_NAME pelo nome do seu cluster. Por exemplo,
cluster-0
.Use
kubectl
para autenticar seu novo cluster de usuários.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info
Se o seu cluster estiver pronto, a saída incluirá as URLs dos componentes do Kubernetes dentro do seu cluster.
Visualizando o status do seu cluster
O serviço de gerenciamento provisiona recursos da AWS quando você aplica um AWSCluster
ou AWSNodePool
.
No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Para listar seus clusters, use
kubectl get AWSClusters
.env HTTPS_PROXY=http://localhost:8118 \ kubectl get AWSClusters
A saída inclui o nome, estado, idade, versão e ponto de extremidade 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
Visualize os eventos do seu cluster
Para ver eventos recentes do Kubernetes do seu cluster de usuários, use kubectl get events
.
No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu 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, avisos e erros relacionados ao seu serviço de gerenciamento.
Excluindo um cluster de usuários
Para excluir um cluster de usuários, execute as seguintes etapas:
No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu 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ários.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILE
Substitua CLUSTER_FILE pelo nome do manifesto que contém seus objetos AWScluster e AWSNodePool. Por exemplo,
cluster-0.yaml
.
Excluindo todos os clusters de usuários
Para excluir todos os seus clusters de usuários, execute as seguintes etapas:
No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu serviço de gerenciamento.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl delete
para excluir seus AWSNodePools e AWSClusters do seu 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 obter mais informações, consulte Desinstalando o GKE na AWS .
O que vem a seguir
Inicie sua primeira carga de trabalho no GKE na AWS.
Configure seu provedor de identidade com o GKE Identity Service .
Conecte-se ao seu cluster de usuários com o console do Cloud .
Crie um cluster de usuários personalizado com configurações diferentes.
Configure a rede da AWS para balancear a carga de suas cargas de trabalho.
Leia as especificações para as definições de recursos personalizados do AWSCluster e do AWSNodePool .