arrow_back

Container-Optimized OS: Qwik Start

Unirse Acceder

Container-Optimized OS: Qwik Start

30 minutos 1 crédito

GSP144

Labs de autoaprendizaje de Google Cloud

Descripción general

Container-Optimized OS es una imagen de sistema operativo para sus VM de Compute Engine optimizada para ejecutar contenedores de Docker y es el sistema operativo recomendado de Google para ejecutar contenedores en Google Cloud Platform. En este lab, creará una instancia de Container-Optimized con Cloud Console y la CLI.

Además, gracias a que trae instaladas todas las dependencias relacionadas con los contenedores, Container-Optimized OS permite que su clúster aumente o reduzca su escalamiento vertical rápidamente en respuesta a los cambios en el tráfico o la carga de trabajo, con lo cual se optimiza su inversión y se mejora la confiabilidad.

Container-Optimized OS respalda muchos servicios de GCP, como Kubernetes Engine y Cloud SQL, por lo que es la solución óptima de Google para las cargas de trabajo de contenedores.

Configuración

Antes de hacer clic en el botón Comenzar lab

Lea estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando hace clic en Comenzar lab, indica por cuánto tiempo tendrá a su disposición los recursos de Google Cloud.

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, le proporciona credenciales temporales nuevas que utilizará para acceder a Google Cloud durante todo el lab.

Qué necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de Google Cloud, no los use para este lab.

Nota: Si usa un dispositivo con Chrome OS, ejecute este lab en una ventana de incógnito.

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

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

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

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

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

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Active Google Cloud Shell

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

  1. En GCP Console, en la barra de herramientas superior derecha, haga clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell

  2. Haga clic en Continue (Continuar):

    cloudshell_continue

Toma unos minutos aprovisionar y conectarse con el entorno. Cuando está conectado, ya está autenticado y el proyecto está configurado en su PROJECT_ID . Por ejemplo:

Terminal de Cloud Shell

gcloud es la herramienta de línea de comandos para Google Cloud Platform. Viene preinstalada en Cloud Shell y es compatible con la función “tab-completion”.

Puede mostrar el nombre de la cuenta activa con este comando:

gcloud auth list

Resultado:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

Puede mostrar el ID del proyecto con este comando:

gcloud config list project
	

Resultado:

[core]
project = <project_ID>
	

Resultado de ejemplo:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Beneficios de Container-Optimized OS

  • Ejecución inmediata de contenedores: Las instancias de Container-Optimized OS traen el entorno de ejecución de Docker y cloud-init preinstalados. Con una instancia de Container-Optimized OS, puede compilar su contenedor de Docker al mismo tiempo que crea su VM, sin necesidad de realizar un proceso de configuración en el host.

  • Menor superficie de ataque: Container-Optimized OS tiene una huella más pequeña, lo que reduce la posible superficie de ataque de su instancia.

  • Bloqueo de seguridad como configuración predeterminada: Las instancias de Container-Optimized OS incluyen un firewall bloqueado y otras configuraciones de seguridad de forma predeterminada.

  • Actualizaciones automáticas: Las instancias de Container-Optimized OS están configuradas para descargar automáticamente actualizaciones semanales en segundo plano; basta con reiniciar para usar las actualizaciones más recientes.

Casos prácticos de Container-Optimized OS

Container-Optimized OS se puede usar para ejecutar la mayoría de los contenedores de Docker. Debe considerar utilizar Container-Optimized OS como sistema operativo para su instancia de Compute Engine si tiene las siguientes necesidades:

  • Necesita compatibilidad con contenedores de Docker o Kubernetes con una configuración mínima.

  • Necesita un sistema operativo que tenga una huella pequeña y seguridad endurecida para contenedores.

  • Necesita un sistema operativo probado y verificado para ejecutar Kubernetes en sus instancias de Compute Engine.

Características de Container-Optimized OS

Compute Engine proporciona varias imágenes de VM públicas que puede usar para crear instancias y ejecutar las cargas de trabajo de sus contenedores. Algunas de estas imágenes de VM públicas tienen un sistema operativo minimalista optimizado para contenedores que incluye versiones más nuevas de Docker, rkt o Kubernetes preinstaladas. Las siguientes familias de imágenes públicas están diseñadas específicamente para ejecutar contenedores:

  • Container-Optimized OS de Google
  • Incluye: Docker, Kubernetes
  • Proyecto de imagen: cos-cloud
  • Familia de imágenes: cos-estable
  • CoreOS
  • Incluye: Docker, rkt, Kubernetes
  • Proyecto de imagen: coreos-cloud
  • Familia de imágenes: coreos-stable
  • Ubuntu
  • Incluye: LXD
  • Proyecto de imagen: ubuntu-os-cloud
  • Familia de imágenes: ubuntu-1604-lts
  • Windows
  • Incluye: Docker
  • Proyecto de imagen: windows-cloud
  • Familia de imágenes: windows-1709-core-for-containers

En un entorno de producción, si necesita ejecutar herramientas y tecnologías de contenedor específicas en imágenes que no las incluyen de manera predeterminada, instale esas tecnologías manualmente.

Cree una instancia con Console

Siga estos pasos para ejecutar una instancia de Compute Engine con Container-Optimized OS y un contenedor de Docker de su elección:

Haga clic en Compute Engine > Instancias de VM y, luego, en Crear.

b4ddd59640deb64e.png

Existen muchos parámetros que puede configurar cuando se crea una nueva instancia. Para este lab, use los siguientes:

Nombre

containerized-vm

Zona

us-central1-a

Tipo de máquina

1 CPU virtual

Esta es una instancia (n1-standard-1) de 3.75 GB de RAM

Contenedor

Marque la casilla que dice Implementar una imagen de contenedor para esta instancia.

Imagen del contenedor

nginx

Disco de arranque

Container-Optimized OS (valor predeterminado)

Firewall

Marque Permitir el tráfico HTTP

a13734dc1caaae0d.png

Haga clic en Crear.

Su instancia de Container-Optimized OS con el contenedor de Docker está en funcionamiento.

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar el objetivo.

Cree una instancia con Console

Verifique su entorno de Docker

Haga clic en SSH en la línea containerized-vm para conectarse mediante SSH a la instancia containerized-vm.

Haga una lista de todos los contenedores de Docker disponibles:

sudo docker ps

Resultado de ejemplo:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
c62d762ed91b        nginx               "nginx -g 'daemon ..."   15 minutes ago      Up 15 minutes                           containerized-vm

En la consola de la instancia de VM, haga clic en la IP externa de la instancia containerized-vm, que abrirá una nueva pestaña. Debería ver esta página web predeterminada de Nginx:

d9b38e4997e18aa9.png

También puede agregar la IP externa a http://EXTERNAL_IP en una nueva ventana o pestaña del navegador para ver la página web.

Cree una instancia usando la CLI

Ahora, use la línea de comandos de Cloud Shell para crear una instancia de Container-Optimized OS.

En Cloud Shell, ingrese el siguiente comando a fin de ver qué imágenes de Container-Optimized OS están disponibles en Google Cloud Platform para crear una instancia.

gcloud compute images list \
    --project cos-cloud \
    --no-standard-images

Utilice el comando gcloud compute instances create con la marca --image y la marca --image-project para crear una instancia de imagen de nodo cos:

 gcloud beta compute instances create-with-container containerized-vm2 \
     --image cos-stable-72-11316-136-0 \
     --image-project cos-cloud \
     --container-image nginx \
     --container-restart-policy always \
     --zone us-central1-a \
     --machine-type n1-standard-1

En el ejemplo anterior, cos-stable-72-11316-136-0 es una de las actualizaciones de cos disponibles. Utilice la imagen más reciente que esté disponible de la familia cos-stable y reemplácela por una imagen para su instancia de VM. Para las instancias experimentales únicas, se recomienda utilizar la marca --preemptible.

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar la tarea completada.

Cree una instancia con la CLI

En Cloud Shell, ingrese los siguientes comandos para crear reglas de firewall que permitan el tráfico HTTP desde Internet y habilitar todo el tráfico interno dentro de la VPC:

gcloud compute firewall-rules create allow-containerized-internal\
  --allow tcp:80 \
  --source-ranges 0.0.0.0/0 \
  --network default

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar la tarea completada.

Cree reglas de firewall que permitan el tráfico HTTP desde Internet

Para este paso, necesita la dirección IP externa de su instancia containerized-vm2. Puede buscar la dirección en la página Instancias de VM en Cloud Platform Console.

En un navegador, ingrese su dirección IP externa para verificar que nginx se esté ejecutando:

http://[YOUR_EXTERNAL_IP_ADDRESS]

Debería ver ¡Bienvenido a nginx!

Felicitaciones

41ab6fa0d099216d.png

Finalice su Quest

Continúe su Quest con Baseline: Deploy & Develop. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completa esta Quest, obtendrá la insignia que se muestra arriba como reconocimiento de su logro. Puede hacer públicas sus insignias y agregar vínculos a ellas en su currículum en línea o en sus cuentas de redes sociales. Inscríbase en esta Quest y obtenga un crédito inmediato de finalización si realizó este lab. Consulte otras Quests de Qwiklabs disponibles.

Pasos siguientes/Más información

Este lab también forma parte de una serie de labs llamada Qwik Starts. Estos labs están diseñados para ofrecerle una visión general de las numerosas funciones disponibles en Google Cloud. Busque "Qwik Starts" en el catálogo de labs para elegir el siguiente lab en el que desee participar.

Google Cloud Training & Certification

Aproveche al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarlo a ponerse en marcha rápidamente y a seguir aprendiendo. Para que pueda realizar nuestros cursos cuando más le convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: según demanda, presenciales y virtuales. Las certificaciones lo ayudan a validar y demostrar sus habilidades y experiencia en las tecnologías de Google Cloud.

Última actualización del manual: 4 de marzo de 2019
Prueba más reciente del lab: 4 de marzo de 2019

Copyright 2020 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.