Este tópico mostra como criar uma carga de trabalho no GKE na AWS e expô-la internamente ao seu cluster.
Antes de começar
Antes de começar a usar o GKE na AWS, certifique-se de ter executado as seguintes tarefas:
- Conclua os pré-requisitos .
- Instalar um serviço de gerenciamento .
- Crie um cluster de usuários .
- No seu diretório
anthos-aws
, useanthos-gke
para alternar o contexto para seu cluster de usuários. Substitua CLUSTER_NAME pelo nome do seu cluster de usuário.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Você pode executar essas etapas com kubectl
ou com o Google Cloud console se você tiver autenticado com Connect . Se você estiver usando o Google Cloud console, pule para Iniciar uma implantação do NGINX .
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.
Iniciar uma implantação do NGINX
Nesta seção, você cria uma implantação do servidor web NGINX chamada 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 obter o status da implantação. Anote oNAME
do pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Console
Para iniciar uma implantação do NGINX com o Google Cloud console, execute as seguintes etapas:
Acesse o menu Cargas de trabalho do GKE emGoogle Cloud console.
Clique em Implantar .
Em Editar contêiner , selecione Imagem de contêiner existente para escolher uma imagem de contêiner disponível no Registro de Contêineres. Preencha o caminho da imagem com a imagem de contêiner que deseja usar e sua versão. Para este início rápido, use
nginx:latest
.Clique em Concluído e depois em Continuar . A tela Configuração será exibida.
Você pode alterar o nome do aplicativo e o namespace do Kubernetes da sua implantação. Para este início rápido, você pode usar o nome do aplicativo
nginx-1
e o namespacedefault
No menu suspenso Cluster , selecione seu cluster de usuário. Por padrão, seu primeiro cluster de usuário é chamado de
cluster-0
.Clique em Implantar . O GKE na AWS iniciará sua implantação do NGINX. A tela de detalhes da implantação será exibida.
Expondo seus pods
Esta seção mostra como fazer um dos seguintes procedimentos:
Exponha sua implantação internamente no seu cluster e confirme se ela está disponível com
kubectl port-forward
.Exponha sua implantação a partir do Google Cloud console para os endereços permitidos pelo seu grupo de segurança do pool de nós.
kubectl
Exponha a porta 80 da 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 sua 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. A página padrão do NGINX será exibida.curl http://localhost:8080
Console
Acesse o menu Cargas de trabalho do GKE em Google Cloud console.
Na tela de detalhes da implantação , clique em Expor . A tela "Expor uma implantação" será exibida.
Na seção Mapeamento de porta , deixe a porta padrão (
80
) e clique em Concluído .Para Tipo de serviço , selecione Balanceador de carga . Para obter mais informações sobre outras opções, consulte Serviços de publicação (ServiceTypes) na documentação do Kubernetes.
Clique em Expor . A tela de detalhes do serviço é exibida. O GKE na AWS cria um Balanceador de Carga Elástico Clássico para o serviço.
Clique no link para Endpoints Externos . Se o balanceador de carga estiver pronto, a página da web padrão do NGINX será exibida.
Visualize sua implantação em Google Cloud console
Se o seu cluster estiver conectado a Google Cloud console , você pode visualizar sua implantação na página Cargas de trabalho do GKE. Para visualizar sua carga de trabalho, siga estas etapas:
No seu navegador, visite a página Cargas de trabalho do Google Kubernetes Engine.
Visite a página de 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 de detalhes da implantação será exibida.Nesta tela, você pode obter detalhes sobre sua implantação; visualizar e editar a configuração do YAML; e realizar outras ações do Kubernetes.
Para obter mais informações sobre as opções disponíveis nesta página, consulte Implantar um aplicativo sem estado na documentação do GKE.
Limpar
Para excluir sua implantação do NGINX, use kubectl delete
ou o Google Cloud console.
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Console
Visite o menu da página Serviços e Ingresso na Google Cloud console.
Encontre o seu serviço NGINX e clique em seu nome . Por padrão, o nome é
nginx-1-service
. A tela de detalhes do serviço será exibida.Clique em Excluir
confirme que deseja excluir o Serviço. O GKE na AWS exclui o balanceador de carga.Acesse a página Cargas de trabalho do Google Kubernetes Engine.
Visite a página de 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 de detalhes da implantação será exibida.Clique em Excluir
confirme que deseja excluir a implantação. O GKE na AWS exclui a implantação.
O que vem a seguir?
Crie um balanceador de carga interno ou externo usando um dos seguintes serviços:
- Balanceador de carga clássico e de rede da AWS
- Balanceador de carga de aplicativos da AWS
- Entrada com Cloud Service Mesh
Você pode usar outros tipos de cargas de trabalho do Kubernetes com o GKE na AWS. Consulte a documentação do GKE para obter mais informações sobre como implantar cargas de trabalho .