Guía de inicio rápido

En este tema, se muestra cómo crear una carga de trabajo en GKE on AWS y exponerla en tu clúster de forma interna.

Antes de comenzar

Antes de comenzar a usar GKE on AWS, completa las siguientes tareas:

  • Instalar un servicio de administración
  • Crear un clúster de usuario
  • Desde tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu clúster de usuario.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Reemplaza CLUSTER_NAME por el nombre de tu clúster de usuario.

Puedes seguir estos pasos con kubectl o con la consola de Google Cloud si estás autenticado con Connect. Si usas la consola de Google Cloud, ve a Inicia una implementación de NGINX.

Para conectarte a tus recursos de GKE on AWS, realiza las siguientes instrucciones. Selecciona si tienes una VPC de AWS existente (o conexión directa a tu VPC) o si creaste una VPC dedicada cuando creaste tu servicio de administración.

VPC existente

Si tienes una conexión directa o de VPN con una VPC existente, omite la línea env HTTP_PROXY=http://localhost:8118 de los comandos en este tema.

VPC dedicada

Cuando creas un servicio de administración en una VPC dedicada, GKE on AWS incluye un host de bastión en una subred pública.

Para conectarte al servicio de administración, realiza los siguientes pasos:

  1. Cambia al directorio con la configuración de GKE en AWS. Creaste este directorio cuando instalaste el servicio de administración.

    cd anthos-aws

  2. Para abrir el túnel, ejecuta la secuencia de comandos bastion-tunnel.sh. El túnel reenvía a localhost:8118.

    Para abrir un túnel al host de bastión, ejecuta el siguiente comando:

    ./bastion-tunnel.sh -N
    

    Los mensajes del túnel SSH aparecen en esta ventana. Cuando estés listo para cerrar la conexión, detén el proceso mediante Control+C o cierra la ventana.

  3. Abre una terminal nueva y cambia a tu directorio de anthos-aws.

    cd anthos-aws
  4. Verifica que puedas conectarte al clúster con kubectl.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    El resultado incluye la URL para el servidor de API del servicio de administración.

Inicia una implementación de NGINX

En esta sección, crearás una implementación del servidor web NGINX llamada nginx-1.

kubectl

  1. Usa kubectl create para crear la implementación.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Usa kubectl para obtener el estado de la implementación. Anota el NAME del pod.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get deployment
    

Console

Para iniciar una implementación NGINX con la consola de Google Cloud, sigue estos pasos:

  1. Visita el menú Cargas de trabajo de GKE en la consola de Google Cloud.

    Visitar el menú Cargas de trabajo

  2. Haz clic en Implementar.

  3. En Editar contenedor, selecciona Imagen de contenedor existente para elegir una imagen de contenedor disponible en Container Registry. Completa la Ruta de acceso a la imagen con la imagen de contenedor que deseas usar y su versión. Para esta guía de inicio rápido, usa nginx:latest.

  4. Haz clic en Listo y, luego, en Continuar. Aparecerá la pantalla Configuración.

  5. Puedes cambiar el Nombre de la aplicación de tu implementación y el Espacio de nombres de Kubernetes. Para esta guía de inicio rápido, puedes usar el nombre de aplicación nginx-1 y el espacio de nombres default

  6. En el menú desplegable Clúster, selecciona tu clúster de usuario. De forma predeterminada, tu primer clúster de usuario se llama cluster-0.

  7. Haz clic en Implementar. GKE on AWS inicia la implementación de NGINX. Aparecerá la pantalla Detalles de la implementación.

Expón tus pods

Esta sección te muestra cómo realizar una de las acciones siguientes:

  • Expón la implementación internamente en tu clúster y confirma que esté disponible con kubectl port-forward.

  • Expón tu implementación de la consola de Google Cloud a las direcciones permitidas por el grupo de seguridad del grupo de nodos.

kubectl

  1. Expón el puerto 80 la implementación al clúster con kubectl expose.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl expose deployment nginx-1 --port=80
    

    Ahora se puede acceder a la implementación desde el clúster.

  2. Reenvía el puerto 80 en la implementación al puerto 8080 en tu máquina local con kubectl port-forward.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Conéctate a http://localhost:8080 con curl o a tu navegador web. Aparecerá la página web predeterminada de NGINX.

    curl http://localhost:8080
    

Console

  1. Visita el menú Cargas de trabajo de GKE en la consola de Google Cloud.

    Visitar el menú Cargas de trabajo

  2. En la pantalla Detalles de la implementación, haz clic en Exponer. Aparecerá la pantalla Exponer una implementación.

  3. En la sección Asignación de puertos, deja el puerto predeterminado (80) y haz clic en Listo.

  4. En Tipo de servicio, selecciona Balanceador de cargas. Para obtener más información sobre otras opciones, consulta Servicios de publicación (ServiceTypes) en la documentación de Kubernetes.

  5. Haz clic en Exponer. Aparecerá la pantalla Detalles del servicio. GKE en AWS crea un balanceador de cargas clásico Elastic para el servicio.

  6. Haz clic en el vínculo Extremos externos. Si el balanceador de cargas está listo, aparecerá la página web predeterminada de NGINX.

Visualiza la implementación en la consola de Google Cloud

Si el clúster está conectado a la consola de Google Cloud, puedes ver la implementación en la página Cargas de trabajo de GKE. Para ver la carga de trabajo, sigue estos pasos:

  1. En tu navegador, visita la página Cargas de trabajo de Google Kubernetes Engine.

    Visitar la página Cargas de trabajo de Google Kubernetes Engine

    Aparecerá la lista de cargas de trabajo.

  2. Haz clic en el nombre de tu carga de trabajo, nginx-1. Aparecerá la pantalla Detalles de la implementación.

  3. Desde esta pantalla, puedes obtener detalles sobre la implementación, ver y editar la configuración YAML, y realizar otras acciones de Kubernetes.

Para obtener más información sobre las opciones disponibles en esta página, consulta Implementa una aplicación sin estado en la documentación de GKE.

Limpieza

Para borrar tu implementación de NGINX, usa kubectl delete o la consola de Google Cloud.

kubectl

env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1

Console

  1. Visita el menú de la página Services e Ingress en la consola de Google Cloud.

    Visitar la página Services e Ingress

  2. Busca tu servicio NGINX y haz clic en su Nombre. De forma predeterminada, el nombre es nginx-1-service. Aparecerá la pantalla Detalles del servicio.

  3. Haz clic en Borrar y confirma que deseas borrar el servicio. GKE on AWS borra el balanceador de cargas.

  4. Visita la página de Cargas de trabajo de Google Kubernetes Engine.

    Visitar la página Cargas de trabajo de Google Kubernetes Engine

    Aparecerá la lista de cargas de trabajo.

  5. Haz clic en el nombre de tu carga de trabajo, nginx-1. Aparecerá la pantalla Detalles de la implementación.

  6. Haz clic en Borrar y confirma que deseas borrar la implementación. GKE on AWS borra la implementación.

Próximos pasos

Crea un balanceador de cargas interno o externo mediante uno de los siguientes servicios:

Puedes usar otros tipos de cargas de trabajo de Kubernetes con GKE on AWS. Consulta la documentación de GKE para obtener más información sobre la Implementación de cargas de trabajo.