Guía de inicio rápido

Este tema le muestra cómo crear una carga de trabajo en GKE en AWS y exponerla internamente en su clúster.

Antes de empezar

Antes de comenzar a usar GKE en AWS, asegúrese de haber realizado las siguientes tareas:

  • Instalar un servicio de gestión .
  • Crear un clúster de usuarios .
  • Desde su directorio anthos-aws , use anthos-gke para cambiar el contexto a su clúster de usuarios.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Reemplace CLUSTER_NAME con el nombre de su clúster de usuarios.

Puede realizar estos pasos con kubectl o con el Google Cloud consola si se ha autenticado con Connect . Si está utilizando el Google Cloud consola, salte a Iniciar una implementación de NGINX .

Para conectarse a sus recursos de GKE en AWS, siga estos pasos. Seleccione si ya tiene una VPC de AWS (o una conexión directa a su VPC) o si creó una VPC dedicada al crear su servicio de administración.

VPC existente

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

VPC dedicada

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

Para conectarse a su servicio de administración, realice los siguientes pasos:

  1. Vaya al directorio con su configuración de GKE en AWS. Este directorio se creó al instalar el servicio de administración .

    cd anthos-aws

  2. Para abrir el túnel, ejecute el script bastion-tunnel.sh . El túnel redirecciona a localhost:8118 .

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

    ./bastion-tunnel.sh -N
    

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

  3. Abra una nueva terminal y cámbiese a su 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 API del servicio de administración.

Lanzar una implementación de NGINX

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

kubectl

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

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

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

Consola

Para lanzar una implementación de NGINX con el Google Cloud consola, realice los siguientes pasos:

  1. Visita el menú Cargas de trabajo de GKE enGoogle Cloud consola.

    Visita el menú Cargas de trabajo

  2. Haga clic en Implementar .

  3. En Editar contenedor , seleccione Imagen de contenedor existente para elegir una imagen de contenedor disponible en Container Registry. Complete la ruta de la imagen con la imagen de contenedor que desea usar y su versión. Para esta guía de inicio rápido, use nginx:latest .

  4. Haga clic en Listo y luego en Continuar . Aparecerá la pantalla de configuración .

  5. Puedes cambiar el nombre de la aplicación y el espacio de nombres de Kubernetes de tu implementación. Para 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 Clúster , seleccione su clúster de usuarios. De forma predeterminada, su primer clúster de usuarios se llama cluster-0 .

  7. Haga clic en Implementar . GKE en AWS iniciará su implementación de NGINX. Aparecerá la pantalla de detalles de la implementación .

Exponiendo tus pods

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

  • Exponga su implementación internamente en su clúster y confirme que esté disponible con kubectl port-forward .

  • Exponga su implementación desde el Google Cloud consola a las direcciones permitidas por el grupo de seguridad de su grupo de nodos.

kubectl

  1. Exponga el puerto 80 de 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 dentro del clúster.

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

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Conéctese a http://localhost:8080 con curl o su 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 Google Cloud consola.

    Visita el menú Cargas de trabajo

  2. En la pantalla de detalles de la implementación , haga clic en "Exponer" . Aparecerá la pantalla "Exponer una implementación" .

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

  4. En Tipo de servicio , seleccione Balanceador de carga . Para obtener más información sobre otras opciones, consulte Servicios de publicación (Tipos de servicio) en la documentación de Kubernetes.

  5. Haga clic en "Exponer" . Aparecerá la pantalla de detalles del servicio . GKE en AWS crea un balanceador de carga elástico clásico para el servicio.

  6. Haga clic en el enlace " Puntos finales externos" . Si el balanceador de carga está listo, aparecerá la página web predeterminada de NGINX.

Ver su implementación en Google Cloud consola

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

  1. En su navegador, visite la página Cargas de trabajo de Google Kubernetes Engine.

    Visita la página de cargas de trabajo de Google Kubernetes Engine

    Aparece la lista de cargas de trabajo.

  2. Haga clic en el nombre de su carga de trabajo, nginx-1 . Aparecerá la pantalla de detalles de implementación .

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

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

Limpieza

Para eliminar su implementación de NGINX, use kubectl delete o el Google Cloud consola.

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 de Servicios e Ingreso en la Google Cloud consola.

    Visita la página de Servicios e Ingreso

  2. Busca tu servicio NGINX y haz clic en su nombre . Por defecto, el nombre es nginx-1-service . Aparece la pantalla de detalles del servicio .

  3. Haga clic en Eliminar confirme que desea eliminar el servicio. GKE en AWS elimina el balanceador de carga.

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

    Visita la página de cargas de trabajo de Google Kubernetes Engine

    Aparece la lista de cargas de trabajo.

  5. Haga clic en el nombre de su carga de trabajo, nginx-1 . Aparecerá la pantalla de detalles de implementación .

  6. Haga clic en Eliminar confirme que desea eliminar la implementación. GKE en AWS elimina la implementación.

¿Que sigue?

Cree un balanceador de carga interno o externo utilizando 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 la implementación de cargas de trabajo .