Neste tópico, mostramos como criar uma carga de trabalho em clusters do Anthos no AWS (GKE na AWS) e expô-la internamente para seu cluster.
Antes de começar
Antes de começar a usar os clusters do Anthos na AWS, realize as tarefas a seguir:
- 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ários.
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 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.
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.
Clique em 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
.Clique em Implantar. Os clusters do Anthos na AWS iniciam 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. Os clusters do Anthos na AWS criam um Balanceador de carga Classic Elastic 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. Os clusters do Anthos na AWS excluem 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. Os clusters do Anthos na AWS excluem 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
- Entrada com Anthos Service Mesh
É possível usar outros tipos de cargas de trabalho do Kubernetes com clusters do Anthos na AWS. Consulte a documentação do GKE para mais informações sobre como implantar cargas de trabalho.