Este tópico mostra como criar uma carga de trabalho no GKE on AWS e expô-la internamente ao seu cluster.
Antes de começar
Antes de começar a usar o GKE on AWS, certifique-se de que realizou as seguintes tarefas:
- Cumpra os pré-requisitos.
- Instale um serviço de gestão.
- Crie um cluster de utilizadores.
- No diretório do
anthos-aws
, useanthos-gke
para mudar o contexto para o cluster de utilizadores. Substitua CLUSTER_NAME pelo nome do cluster de utilizadores.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Pode realizar estes passos com o kubectl
ou com a consola Google Cloud se tiver efetuado a autenticação com o Connect.
Se estiver a usar a Google Cloud consola, avance para
Iniciar uma implementação do NGINX.
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.
Inicie uma implementação do NGINX
Nesta secção, cria uma
Implementação
do servidor Web NGINX denominado nginx-1
.
kubectl
Use
kubectl create
para criar a implementação.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Use
kubectl
para obter o estado da implementação. Tenha em atenção oNAME
do Pod.env HTTPS_PROXY=http://localhost:8118 \ kubectl get deployment
Consola
Para iniciar uma implementação do NGINX com a consola Google Cloud , siga os passos abaixo:
Visite o menu Cargas de trabalho do GKE na Google Cloud consola.
Clique em Implementar.
Em Editar contentor, selecione Imagem de contentor existente para escolher uma imagem de contentor disponível no Container Registry. Preencha o caminho da imagem com a imagem do contentor que quer usar e a respetiva versão. Para este guia de início rápido, use o
nginx:latest
.Clique em Concluído e, de seguida, em Continuar. É apresentado o ecrã Configuração.
Pode alterar o Nome da aplicação da implementação e o Espaço de nomes do Kubernetes. Para este início rápido, pode usar o nome da aplicação
nginx-1
e o espaço de nomesdefault
No menu pendente Cluster, selecione o cluster de utilizadores. Por predefinição, o primeiro cluster de utilizadores tem o nome
cluster-0
.Clique em Implementar. O GKE no AWS inicia a implementação do NGINX. É apresentado o ecrã Detalhes da implementação.
Expor os seus pods
Esta secção mostra como fazer uma das seguintes ações:
Exponha a sua implementação internamente no cluster e confirme que está disponível com
kubectl port-forward
.Exponha a sua implementação a partir da Google Cloud consola aos endereços permitidos pelo grupo de segurança do conjunto de nós.
kubectl
Exponha a porta 80 da implementação ao cluster com
kubectl expose
.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80
A implementação já está acessível a partir do cluster.
Encaminhe a porta
80
na implementaçã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
Ligue-se ao
http://localhost:8080
com ocurl
ou o seu navegador de Internet. É apresentada a página Web do NGINX predefinida.curl http://localhost:8080
Consola
Visite o menu Cargas de trabalho do GKE na Google Cloud consola.
No ecrã Detalhes da implementação, clique em Expor. É apresentado o ecrã Expor uma implementação.
Na secção Mapeamento de portas, deixe a porta predefinida (
80
) e clique em Concluído.Para Tipo de serviço, selecione Balanceador de carga. Para mais informações sobre outras opções, consulte Publicar serviços (ServiceTypes) na documentação do Kubernetes.
Clique em Expor. É apresentado o ecrã Detalhes do serviço. O GKE na AWS cria um Classic Elastic Load Balancer para o serviço.
Clique no link Pontos finais externos. Se o equilibrador de carga estiver pronto, é apresentada a página Web do NGINX predefinida.
Veja a sua implementação na Google Cloud consola
Se o seu cluster estiver ligado à Google Cloud consola, pode ver a sua implementação na página Cargas de trabalho do GKE. Para ver a sua carga de trabalho, siga estes passos:
No navegador, visite a página Cargas de trabalho do Google Kubernetes Engine.
Visite a página Cargas de trabalho do Google Kubernetes Engine
É apresentada a lista de cargas de trabalho.
Clique no nome da carga de trabalho,
nginx-1
. É apresentado o ecrã Detalhes da implementação.Neste ecrã, pode obter detalhes sobre a implementação, ver e editar a configuração YAML, bem como realizar outras ações do Kubernetes.
Para mais informações sobre as opções disponíveis nesta página, consulte o artigo Implementar uma aplicação sem estado na documentação do GKE.
Limpeza
Para eliminar a sua implementação do NGINX, use kubectl delete
ou a consola Google Cloud .
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Consola
Visite o menu Página Serviços e entrada na Google Cloud consola.
Encontre o seu serviço NGINX e clique no respetivo nome. Por predefinição, o nome é
nginx-1-service
. É apresentado o ecrã Detalhes do serviço.Clique em
Eliminar e confirme que quer eliminar o serviço. O GKE no AWS elimina o balanceador de carga.Visite a página Cargas de trabalho do Google Kubernetes Engine.
Visite a página Cargas de trabalho do Google Kubernetes Engine
É apresentada a lista de cargas de trabalho.
Clique no nome da carga de trabalho,
nginx-1
. É apresentado o ecrã Detalhes da implementação.Clique em
Eliminar e confirme que quer eliminar a implementação. O GKE on AWS elimina a implementação.
O que se segue?
Crie um balanceador de carga interno ou externo através de um dos seguintes serviços:
- Balanceador de carga clássico e de rede da AWS
- AWS Application Load Balancer
- Entrada com o Cloud Service Mesh
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 a implementação de cargas de trabalho.