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 no 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 no 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 -NAs 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-infoO 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 no 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.yamlTerraform 0.14.3 ou superior
terraform output -raw cluster_example > cluster-0.yamlPara mais informações sobre o conteúdo deste ficheiro, consulte a documentação
AWSClustereAWSNodePool.Abra o ficheiro num editor de texto e edite-o, se necessário. Por predefinição, o GKE no 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-credentialspara gerar umkubeconfigpara o seu cluster de utilizadores no~/.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 utilizadores.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoSe 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-gkepara 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 AWSClustersO 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
AWSClusterdenominadocluster-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 o kubectl get events.
No diretório do
anthos-aws, useanthos-gkepara 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-gkepara mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl deletepara eliminar o manifesto que contém os seus clusters de utilizadores.env HTTPS_PROXY=http://localhost:8118 \ kubectl delete -f CLUSTER_FILESubstitua 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-gkepara mudar o contexto para o seu serviço de gestão.cd anthos-aws anthos-gke aws management get-credentials
Use
kubectl deletepara 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 no 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.