Guía de inicio rápido

En este tema, se muestra cómo crear una carga de trabajo en clústeres de Anthos alojados en AWS (GKE en AWS) y exponerla internamente en tu clúster.

Antes de comenzar

Antes de comenzar a usar clústeres de Anthos alojados en AWS, asegúrate de haber realizado las siguientes tareas:

  • Instalar un servicio de administración
  • Crear un clúster de usuario
  • Desde el directorio anthos-aws, usa anthos-gke para cambiar el contexto al 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 realizar estos pasos con kubectl o con Google Cloud Console si autenticaste con Connect. Si usas Google Cloud Console, ve a Inicia una implementación de NGINX.

Para conectarte a tus clústeres de Anthos en recursos de AWS, sigue estos pasos. 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, clústeres de Anthos alojados en 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 tus clústeres de Anthos en la configuración de 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
    

Consola

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. Clústeres de Anthos alojados en AWS inicia tu 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 Deployment desde Google Cloud Console en las direcciones que permite el grupo de seguridad de tu 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
    

Consola

  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. Los clústeres de Anthos en AWS crean 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 tu clúster está conectado a Google Cloud Console, puedes ver tu 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 Google Cloud Console.

kubectl

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

Consola

  1. Visita el menú de la página Servicios y de Ingress en Google Cloud Console.

    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. Los clústeres de Anthos en AWS borran el balanceador de cargas.

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

  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. Clústeres de Anthos alojados en 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 clústeres de Anthos alojados en AWS. Consulta la documentación de GKE para obtener más información sobre la Implementación de cargas de trabajo.