Guia de início rápido

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:

  • Instale um serviço de gerenciamento.
  • Crie um cluster de usuário.
  • No diretório anthos-aws, use anthos-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:

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

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

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

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

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

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Use kubectl para ver o status da implantação. Observe o NAME 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:

  1. Acesse o menu "Cargas de trabalho" no console do Google Cloud.

    Acesse o menu “Cargas de trabalho”

  2. Selecione Implantar.

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

  4. Clique em Concluído e em Continuar. A tela Configuração será exibida.

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

  6. No menu suspenso Cluster, escolha o cluster de usuários. Por padrão, seu primeiro cluster de usuário é denominado cluster-0.

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

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

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

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Conecte-se a http://localhost:8080 com curl ou seu navegador da Web. A página da Web NGINX padrão é exibida.

    curl http://localhost:8080
    

Console

  1. Acesse o menu "Cargas de trabalho" do GKE no console do Google Cloud.

    Acesse o menu “Cargas de trabalho”

  2. Na página Detalhes da implantação, clique em Expor. A tela Expor uma implantação é exibida.

  3. Na seção Mapeamento de porta, mantenha a porta padrão (80) e clique em Concluído.

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

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

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

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

  2. Clique no nome da sua carga de trabalho, nginx-1. A tela Detalhes da implantação é exibida.

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

  1. Acesse o menu da página "Serviços e Entrada" no Console do Google Cloud.

    Acessar a página "Serviços e Entrada"

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

  3. Clique em Excluir e confirme a exclusão. O GKE na AWS exclui o balanceador de carga.

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

  5. Clique no nome da sua carga de trabalho, nginx-1. A tela Detalhes da implantação é exibida.

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

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