Create a Kubernetes Cluster

Revisar mi progreso

/ 5

Build and Deploy Nodejs App (hello-node)

Revisar mi progreso

/ 5

Allow external traffic to hello-node deployment

Revisar mi progreso

/ 5

Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.

GSP015

Labs de autoaprendizaje de Google Cloud

Descripción general

Google Kubernetes Engine facilita la ejecución de contenedores de Docker en la nube. Para ello, usa un programador de contenedores de código abierto llamado Kubernetes, el cual garantiza que tu clúster se ejecute exactamente como lo necesitas en todo momento.

En este lab, aprenderás a iniciar un contenedor y las réplicas de ese contenedor en Google Kubernetes Engine.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la derecha, se encuentra el panel Configuración del lab y acceso, que tiene los siguientes elementos:

    • El botón Abrir la consola de Google Cloud
    • Las credenciales temporales (nombre de usuario y contraseña) que debes usar para este lab
    • Otra información para completar el lab (si es necesaria)

    Ten en cuenta que el cronómetro del lab se encuentra cerca de la parte superior de la página y muestra el tiempo restante.

  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia los recursos y abre otra pestaña, en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usa otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Configuración del lab y acceso.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Configuración del lab y acceso.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación ni autenticación de dos factores, ya que esta cuenta es temporal.
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

  2. Haz clic para avanzar por las siguientes ventanas:

    • Continúa en la ventana de información de Cloud Shell.
    • Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.

Tarea 1: Crea un clúster

En esta sección, crearás un clúster de Google Kubernetes Engine.

Establece la zona de procesamiento

Cloud Shell es una terminal basada en el navegador que permite acceder a una máquina virtual, la cual tiene instaladas las herramientas de Google Cloud y otras más (como editores y compiladores) que son útiles para desarrollar o depurar una aplicación en la nube.

Para crear el clúster, deberás usar el comando de gcloud. Lo primero que debes hacer es configurar la zona de procesamiento para que las máquinas virtuales de tu clúster se creen en la región correcta. Para ello, usa gcloud config set compute/zone.

  • Ingresa el comando siguiente en Cloud Shell:
gcloud config set compute/zone {{{project_0.default_zone|ZONE}}}

Información sobre las regiones y zonas

Algunos recursos de Compute Engine se encuentran en regiones o zonas. Una región es una ubicación geográfica específica donde puedes ejecutar tus recursos. Cada región tiene una o más zonas. Por ejemplo, la región “us-central1” corresponde a una región en el centro de Estados Unidos que tiene las zonas us-central1-a, us-central1-b, us-central1-c y us-central1-f.

Regiones Zonas
Oeste de EE.UU. us-west1-a, us-west1-b
EE.UU. central us-central1-a, us-central1-b, us-central1-d, us-central1-f
Este de EE.UU. us-east1-b, us-east1-c, us-east1-d
Europa Occidental europe-west1-b, europe-west1-c, europe-west1-d
Asia oriental asia-east1-a, asia-east1-b, asia-east1-c

Los recursos ubicados en una zona se denominan recursos zonales. Las instancias de máquinas virtuales y los discos persistentes se alojan en una zona. Un disco persistente y una instancia de máquina virtual deben ubicarse en la misma zona para poder conectarlos. De forma similar, para asignar una dirección IP estática a una instancia, ambas deben ubicarse en la misma región.

Obtén más información sobre las regiones y zonas, y revisa una lista completa de ellas en la documentación de Regiones y zonas de la página de Compute Engine.

Crea un clúster nuevo

  • Crea un nuevo clúster de contenedores con el comando de gcloud siguiente:
gcloud container clusters create hello-world

Este comando crea un clúster nuevo llamado hello-world con tres nodos (VMs). Puedes configurar este comando con marcas adicionales para cambiar la cantidad de nodos, los permisos predeterminados y otras variables. Consulta la referencia de gcloud container clusters create para obtener más detalles.

Nota: Si aparece un error cuando ejecutas gcloud container clusters create, asegúrate de haber habilitado las APIs de Google Kubernetes Engine y Compute Engine.

El clúster puede tardar unos minutos en iniciarse. Una vez que esté activo, deberías ver un resultado en Cloud Shell similar al siguiente:

NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS hello-world {{{project_0.default_zone|ZONE}}} 1.12.7-gke.10 35.239.64.154 e2-medium 1.12.7-gke.10 3 RUNNING

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste con éxito, se te otorgará una puntuación de evaluación.

Crear un clúster de Kubernetes

Tarea 2: Compila y publica la app de Hello World

Luego, compila y publica un contenedor que contenga tu código. Usarás Docker para compilar el contenedor y Google Artifact Registry para publicarlo de forma segura.

Establece el ID del proyecto

Deberás usar el ID del proyecto en muchos de los comandos de este lab, el cual se almacena de forma conveniente en una variable de entorno en Cloud Shell. A continuación, verás el ID del proyecto:

echo $DEVSHELL_PROJECT_ID

Tarea 3: Obtén el código de muestra

  1. Ejecuta el comando siguiente para clonar las muestras:
git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples
  1. Cambia los directorios:
cd kubernetes-engine-samples/quickstarts/hello-app

Compila el contenedor

Los contenedores de Docker se crean con un Dockerfile. El código de muestra proporciona un Dockerfile básico que podemos usar.

cat Dockerfile

Este es el contenido del archivo:

... FROM golang:1.26.2 AS builder WORKDIR /app RUN go mod init hello-app COPY *.go ./ RUN CGO_ENABLED=0 GOOS=linux go build -o /hello-app FROM gcr.io/distroless/static-debian12 WORKDIR / COPY --from=builder /hello-app /hello-app ENV PORT=8080 USER nonroot:nonroot CMD ["/hello-app"]
  • Para compilar el contenedor, ejecuta el comando siguiente:
docker build -t gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0 .

Esto compilará una imagen de contenedor de Docker almacenada de forma local.

Publica el contenedor

Para que Kubernetes pueda acceder a tu imagen, debes almacenarla en un Artifact Registry.

  • Ejecuta el comando siguiente para publicar tu imagen de contenedor:
gcloud docker -- push gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0

Tarea 4: Implementa la app de Hello World

Ahora que tenemos un clúster en ejecución y la aplicación compilada, es hora de implementarla.

Crea el Deployment

Un Deployment es un componente central de Kubernetes que garantiza que tu aplicación se ejecute en todo momento, ya que programa y administra un conjunto de Pods en el clúster. Un Pod es uno o más contenedores que “viajan juntos”. Esto podría significar que se administran juntos o que tienen los mismos requisitos de red. En este lab, tu Pod solo tiene un contenedor.

Por lo general, debes crear un archivo YAML con la configuración del Deployment. Sin embargo, en este lab omitiremos ese paso y, en su lugar, crearemos directamente el Deployment en la línea de comandos.

  1. Crea el Pod con kubectl:
kubectl create deployment hello-app --image=gcr.io/$DEVSHELL_PROJECT_ID/hello-app:1.0 Nota: Puedes ignorar de forma segura cualquier advertencia de baja de comandos.

Este comando inicia una copia de la imagen de Docker en uno de los nodos del clúster.

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste con éxito, se te otorgará una puntuación de evaluación.

Compilar e implementar la app de Hello World (hello-app)
  1. Ejecuta el comando siguiente para ver el Deployment que creaste con kubectl:
kubectl get deployments

Deberías obtener un resultado similar al siguiente:

NAME READY UP-TO-DATE AVAILABLE AGE hello-app 1/1 1 1 30s
  1. También puedes usar kubectl para ver el Pod en ejecución:
kubectl get pods

Deberías obtener un resultado similar al siguiente:

NAME READY STATUS RESTARTS AGE hello-app-3375482827-7hs3q 1/1 Running 0 1m

Permite el tráfico externo

De forma predeterminada, un Pod solo es accesible para otras máquinas dentro del clúster. Para usar el contenedor de la app que se creó, debe exponerse como un Service.

Por lo general, deberías crear un archivo YAML con la configuración del Service. Sin embargo, en este lab omitiremos ese paso y, en su lugar, crearemos directamente el Deployment en la línea de comandos.

  1. Ejecuta el comando siguiente para exponer el Deployment con el comando kubectl expose:
kubectl expose deployment hello-app --name=hello-app --type=LoadBalancer --port=80 --target-port=8080

El comando kubectl expose crea un Service, las reglas de reenvío para el balanceador de cargas y las reglas de firewall que permiten que el tráfico externo se envíe al Pod. La marca --type=LoadBalancer crea un balanceador de cargas de red de Google Cloud que acepta tráfico externo.

  1. Para obtener la dirección IP del Service, ejecuta el comando siguiente:
kubectl get svc hello-app

Deberías obtener un resultado similar al siguiente:

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-app LoadBalancer 10.3.247.85 104.198.151.208 80/TCP 8m Nota: Es posible que la IP externa tarde alrededor de un minuto en completarse. Si ves <pending> en External-IP, espera 30 segundos y vuelve a intentarlo.

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste con éxito, se te otorgará una puntuación de evaluación.

Permitir el tráfico externo al Deployment de hello-app

Verifica el Deployment

Abre una nueva ventana o pestaña del navegador y conéctate a la dirección IP externa del paso anterior. Deberías ver el código de muestra en funcionamiento.

La página web muestra el texto siguiente: Hello Kubernetes!

Tarea 5: Pon a prueba tus conocimientos

Aquí tienes algunas preguntas de opción múltiple para reforzar tus conocimientos de los conceptos de este lab. Trata de responderlas lo mejor posible.

¡Felicitaciones!

Google Kubernetes Engine ofrece una manera eficaz y flexible de ejecutar contenedores en Google Cloud. Kubernetes también se puede usar en tu propio hardware o en otros proveedores de servicios en la nube.

En este lab, solo se usó un contenedor, pero es sencillo configurar varios entornos de contenedores o varias instancias de un solo contenedor.

Temas abordados

  • Google Kubernetes Engine
  • Cómo compilar e iniciar una app simple alojada en contenedores en Google Kubernetes Engine

Realiza tu próximo lab

Te sugerimos que pruebes el lab siguiente:

Próximos pasos y más información

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 11 de diciembre de 2024

Prueba más reciente del lab: 11 de diciembre de 2024

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.