Início rápido

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:

  • Instale um serviço de gestão.
  • Crie um cluster de utilizadores.
  • No diretório do anthos-aws, use anthos-gke para mudar o contexto para o cluster de utilizadores.
    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 utilizadores.

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:

  1. 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

  2. Para abrir o túnel, execute o script bastion-tunnel.sh. O túnel segue em frente para localhost: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.

  3. Abra um novo terminal e mude para o diretório anthos-aws.

    cd anthos-aws
  4. 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

  1. Use kubectl create para criar a implementação.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Use kubectl para obter o estado da implementação. Tenha em atenção o NAME 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:

  1. Visite o menu Cargas de trabalho do GKE na Google Cloud consola.

    Visite o menu Cargas de trabalho

  2. Clique em Implementar.

  3. 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.

  4. Clique em Concluído e, de seguida, em Continuar. É apresentado o ecrã Configuração.

  5. 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 nomes default

  6. No menu pendente Cluster, selecione o cluster de utilizadores. Por predefinição, o primeiro cluster de utilizadores tem o nome cluster-0.

  7. 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

  1. 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.

  2. Encaminhe a porta 80 na implementação para a porta 8080 na sua máquina local com kubectl port-forward.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Ligue-se ao http://localhost:8080 com o curl ou o seu navegador de Internet. É apresentada a página Web do NGINX predefinida.

    curl http://localhost:8080
    

Consola

  1. Visite o menu Cargas de trabalho do GKE na Google Cloud consola.

    Visite o menu Cargas de trabalho

  2. No ecrã Detalhes da implementação, clique em Expor. É apresentado o ecrã Expor uma implementação.

  3. Na secção Mapeamento de portas, deixe a porta predefinida (80) e clique em Concluído.

  4. 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.

  5. Clique em Expor. É apresentado o ecrã Detalhes do serviço. O GKE na AWS cria um Classic Elastic Load Balancer para o serviço.

  6. 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:

  1. 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.

  2. Clique no nome da carga de trabalho, nginx-1. É apresentado o ecrã Detalhes da implementação.

  3. 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

  1. Visite o menu Página Serviços e entrada na Google Cloud consola.

    Visite a página Serviços e entrada

  2. 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.

  3. Clique em Eliminar e confirme que quer eliminar o serviço. O GKE no AWS elimina o balanceador de carga.

  4. 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.

  5. Clique no nome da carga de trabalho, nginx-1. É apresentado o ecrã Detalhes da implementação.

  6. 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:

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.