Guía de inicio rápido

En este tema se explica cómo crear una carga de trabajo en GKE en AWS y exponerla internamente en tu clúster.

Antes de empezar

Antes de empezar a usar GKE en AWS, asegúrate de haber completado las siguientes tareas:

  • Instala un servicio de gestión.
  • Crea un clúster de usuarios.
  • En tu directorio de anthos-aws, usa anthos-gke para cambiar el contexto a tu clúster de usuarios.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Sustituye CLUSTER_NAME por el nombre de tu clúster de usuario.

Puedes seguir estos pasos con kubectl o con la consola Google Cloud si te has autenticado con Connect. Si usas la Google Cloud consola, ve a la sección Lanzar un despliegue de NGINX.

Para conectarte a tus recursos de GKE en AWS, sigue estos pasos. Selecciona si tienes una VPC de AWS (o una conexión directa a tu VPC) o si has creado una VPC específica al crear tu servicio de gestión.

VPC ya creada

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

VPC dedicada

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

Para conectarte a tu servicio de gestión, sigue estos pasos:

  1. Cambia al directorio con tu configuración de GKE en AWS. Has creado este directorio al instalar el servicio de gestió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 bastion, ejecuta el siguiente comando:

    ./bastion-tunnel.sh -N
    

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

  3. Abre una terminal nueva y ve al directorio anthos-aws.

    cd anthos-aws
  4. Comprueba que puedes conectarte al clúster con kubectl.

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

    La salida incluye la URL del servidor de la API del servicio de gestión.

Lanzar un despliegue de NGINX

En esta sección, crearás una implementación del servidor web NGINX llamado 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. Ten en cuenta el NAME del Pod.

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

Consola

Para lanzar un despliegue de NGINX con la Google Cloud consola, sigue estos pasos:

  1. Ve al menú Cargas de trabajo de GKE en laGoogle Cloud consola.

    Ir al menú Cargas de trabajo

  2. Haz clic en Desplegar.

  3. En Editar contenedor, selecciona Imagen de contenedor que ya existe para elegir una imagen de contenedor disponible en Container Registry. Rellena el campo Ruta de la imagen con la imagen del contenedor que quieras usar y su versión. En esta guía de inicio rápido, usa nginx:latest.

  4. Haz clic en Hecho y, a continuación, en Continuar. Aparecerá la pantalla Configuración.

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

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

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

Exponer tus pods

En esta sección se muestra cómo hacer una de las siguientes acciones:

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

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

kubectl

  1. Expón el puerto 80 del Deployment al clúster con kubectl expose.

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

    Ahora se puede acceder al despliegue desde el clúster.

  2. Redirige el puerto 80 de la implementación al puerto 8080 de 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 con tu navegador web. Aparecerá la página web predeterminada de NGINX.

    curl http://localhost:8080
    

Consola

  1. Ve al menú Cargas de trabajo de GKE en la Google Cloud consola.

    Ir al menú Cargas de trabajo

  2. En la pantalla Detalles de la implementación, haga clic en Exponer. Aparecerá la pantalla Exponer un despliegue.

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

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

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

  6. Haga clic en el enlace External Endpoints (Endpoints externos). Si el balanceador de carga está listo, aparecerá la página web predeterminada de NGINX.

Consulta tu despliegue en la Google Cloud consola

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

  1. En tu navegador, ve a la página Workloads (Cargas de trabajo) de Google Kubernetes Engine.

    Visita 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. En esta pantalla, puede obtener información sobre su implementación, ver y editar la configuración de YAML, y llevar a cabo otras acciones de Kubernetes.

Para obtener más información sobre las opciones disponibles en esta página, consulta el artículo Desplegar una aplicación sin reconocimiento del estado en la documentación de GKE.

Limpieza

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

kubectl

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

Consola

  1. Ve al menú de páginas Servicios y entrada de la Google Cloud consola.

    Visitar la página Servicios y entrada

  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 Eliminar y confirma que quieres eliminar el Servicio. GKE on AWS elimina el balanceador de carga.

  4. Ve a la página Workloads de Google Kubernetes Engine.

    Visita 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 Eliminar y confirma que quieres eliminar la implementación. GKE on AWS elimina el Deployment.

Siguientes pasos

Crea un balanceador de carga interno o externo con uno de los siguientes servicios:

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