Neste tópico, mostramos como criar uma carga de trabalho no GKE na AWS e como expô-la internamente para seu cluster.
Antes de começar
Antes de começar a usar o GKE na AWS, verifique se você executou as seguintes tarefas:
- Conclua os Pré-requisitos.
- Instale um serviço de gerenciamento.
- Crie um cluster de usuário.
- No diretório
anthos-aws
, useanthos-gke
para alternar o contexto para o cluster de usuário.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Substitua CLUSTER_NAME pelo nome do cluster de usuário.
Você pode executar essas etapas com kubectl
ou com o console do Google Cloud se
tiver
Autenticado com o Connect.
Se você estiver usando o Console do Google Cloud, pule para
Iniciar uma implantação do NGINX.
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 -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.
Iniciar uma implantação do NGINX
Nesta seção, você criará uma
implantação
do servidor da Web NGINX chamado nginx-1
.
kubectl
Use
kubectl create
para criar a implantação.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Use
kubectl
para ver o status da implantação. Observe oNAME
do pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Console
Para iniciar uma implantação do NGINX com o console do Google Cloud, execute as etapas a seguir:
Acesse o menu "Cargas de trabalho" no console do Google Cloud.
Selecione Implantar.
Em Editar contêiner, selecione Imagem de contêiner atual para escolher uma imagem de contêiner disponível no Container Registry. Preencha o Caminho da imagem com a imagem do contêiner que você quer usar e a versão dela. Para este guia de início rápido, use
nginx:latest
.Clique em Concluído e em Continuar. A tela Configuração será exibida.
Altere o nome do aplicativo da implantação e o namespace do Kubernetes. Para este guia de início rápido, use o nome do aplicativo
nginx-1
e o namespacedefault
No menu suspenso Cluster, escolha o cluster de usuários. Por padrão, seu primeiro cluster de usuário é denominado
cluster-0
.Selecione Implantar. O GKE na AWS inicia sua implantação NGINX. A tela Detalhes da implantação é exibida.
Como expor seus pods
Esta seção mostra como realizar uma das seguintes ações:
Exponha a implantação internamente no cluster e confirme se ela está disponível com
kubectl port-forward
.Exponha a implantação do Console do Google Cloud para os endereços permitidos pelo grupo de segurança do pool de nós.
kubectl
Exponha a porta 80 à implantação no cluster com
kubectl expose
.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80
A implantação agora pode ser acessada de dentro do cluster.
Encaminhe a porta
80
na implantação para a porta8080
na máquina local comkubectl port-forward
.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80
Conecte-se a
http://localhost:8080
comcurl
ou seu navegador da Web. A página da Web NGINX padrão é exibida.curl http://localhost:8080
Console
Acesse o menu "Cargas de trabalho" do GKE no console do Google Cloud.
Na página Detalhes da implantação, clique em Expor. A tela Expor uma implantação é exibida.
Na seção Mapeamento de porta, mantenha a porta padrão (
80
) e clique em Concluído.Em Tipo de serviço, selecione Balanceador de carga. Para mais informações sobre outras opções, consulte Serviços de publicação (ServiceTypes) na documentação do Kubernetes.
Clique em Expor. A tela Detalhes do serviço é exibida. O GKE na AWS cria um balanceador de carga Elastic clássico para o serviço.
Clique no link para Endpoints externos. Se o balanceador de carga estiver pronto, a página da Web NGINX padrão será exibida.
Ver sua implantação no console do Google Cloud
Se o cluster estiver conectado ao console do Google Cloud, será possível visualizar sua implantação na página "Cargas de trabalho" do GKE. Para visualizar sua carga de trabalho, siga estas etapas:
No navegador, acesse a página Cargas de trabalho do Google Kubernetes Engine.
Visitar a página "Cargas de trabalho" do Google Kubernetes Engine
A lista de cargas de trabalho é exibida.
Clique no nome da sua carga de trabalho,
nginx-1
. A tela Detalhes da implantação é exibida.Nessa tela, é possível ver detalhes sobre sua implantação, visualizar e editar a configuração YAML e realizar outras ações do Kubernetes.
Para mais informações sobre as opções disponíveis nesta página, consulte Como implantar um aplicativo sem estado na documentação do GKE.
limpeza
Para excluir a implantação do NGINX, use kubectl delete
ou o Console do Google Cloud.
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Console
Acesse o menu da página "Serviços e Entrada" no Console do Google Cloud.
Encontre seu serviço NGINX e clique no Nome dele. Por padrão, o nome é
nginx-1-service
. A tela Detalhes do serviço é exibida.Clique em
Excluir e confirme a exclusão. O GKE na AWS exclui o balanceador de carga.Acesse a página Cargas de trabalho do Google Kubernetes Engine.
Visitar a página "Cargas de trabalho" do Google Kubernetes Engine
A lista de cargas de trabalho é exibida.
Clique no nome da sua carga de trabalho,
nginx-1
. A tela Detalhes da implantação é exibida.Clique em
Excluir e confirme a exclusão. O GKE na AWS exclui a implantação.
A seguir
Crie um balanceador de carga interno ou externo usando um dos seguintes serviços:
- Balanceador de carga da AWS clássico e de rede
- Balanceador de carga de aplicativo da AWS
- Ingress com o Cloud Service Mesh
É possível usar outros tipos de cargas de trabalho do Kubernetes com o GKE na AWS. Consulte a documentação do GKE para mais informações sobre como implantar cargas de trabalho.