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:
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
Para abrir o túnel, execute o script
bastion-tunnel.sh
. O túnel segue em frente paralocalhost: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.
Abra um novo terminal e mude para o diretório
anthos-aws
.cd anthos-aws
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
.
Abra o terminal e, se necessário, ligue-se ao anfitrião bastion.
Altere o diretório para a pasta que criou quando Instalou o serviço de gestão.
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
eAWSNodePool
.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.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.
Use
anthos-gke aws clusters get-credentials
para gerar umkubeconfig
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
.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
.
No diretório do
anthos-aws
, useanthos-gke
para mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
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
denominadocluster-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
.
No diretório do
anthos-aws
, useanthos-gke
para mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
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:
No diretório do
anthos-aws
, useanthos-gke
para mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
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:
No diretório do
anthos-aws
, useanthos-gke
para mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
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?
Lance a sua primeira carga de trabalho no GKE na AWS.
Configure o Fornecedor de identidade com o GKE Identity Service.
Crie um cluster de utilizadores personalizado com definições diferentes.
Configure a rede da AWS para o balanceamento de carga das suas cargas de trabalho.
Leia as especificações das definições de recursos personalizados AWSCluster e AWSNodePool.