Container-Optimized OS de Google es una imagen de sistema operativo para las VMs de Compute Engine que está optimizada para ejecutar contenedores. Google mantiene Container-Optimized OS, y esa imagen de sistema operativo se basa en el proyecto de código abierto de Chromium OS. Con Container-Optimized OS, puedes abrir los contenedores en Google Cloud Platform con rapidez, de manera eficiente y segura.
Características y beneficios
Container-Optimized OS brinda los siguientes beneficios:
- Ejecución inmediata de contenedores: Las instancias de Container-Optimized OS traen el entorno de ejecución de Docker y containerd, y
cloud-init
preinstalados. Con una instancia de Container-Optimized OS, puedes abrir tu contenedor al mismo tiempo que creas tu 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 superficie de posible ataque de tu instancia.
- Bloque 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 últimas actualizaciones.
Limitaciones
Container-Optimized OS tiene compatibilidad limitada o nula para algunas de las características comunes con las que puedes estar familiarizado en otros sistemas operativos:
- Container-Optimized OS no incluye un administrador de paquetes; por lo tanto, no podrás instalar paquetes de software directamente en una instancia. Sin embargo, puedes utilizar la herramienta de CoreOS para instalar y ejecutar las herramientas de depuración y administrador en un contenedor aislado.
- Container-Optimized OS no admite la ejecución de aplicaciones que no están en contenedores.
- El kernel de Container-Optimized OS está bloqueado; no podrás instalar módulos de kernel ni controladores de terceros.
- Container-Optimized OS no es compatible fuera del entorno de Google Cloud Platform.
Cómo utilizar Container-Optimized OS
Container-Optimized OS es la imagen del SO del nodo predeterminado en Kubernetes Engine y otras implementaciones de Kubernetes en Google Cloud Platform. Consulta la Guía de inicio rápido de Kubernetes Engine para obtener más información sobre cómo usar Container-Optimized OS con Kubernetes Engine.
También puedes usar Container-Optimized OS para abrir rápidamente un contenedor en una instancia de Compute Engine con una configuración mínima. Para obtener más información, consulta Cómo crear y configurar instancias.
Puedes ejecutar herramientas como ping
, Google Cloud CLI, pstree
, htop
, emacs
y muchas más con la utilidad de la caja de herramientas de CoreOS, que está preinstalada en el SO optimizado para contenedores en /usr/bin/toolbox
. Consulta Cómo depurar con la caja de herramientas para obtener más información.
Casos prácticos de Container-Optimized OS
Container-Optimized OS se puede usar para ejecutar la mayoría de los contenedores. Debes considerar utilizar Container-Optimized OS como sistema operativo para tu instancia de Compute Engine si tienes las siguientes necesidades:
- Necesitas compatibilidad con contenedores o Kubernetes con una configuración mínima.
- Necesitas un sistema operativo que tenga una huella pequeña y seguridad endurecida para contenedores.
- Necesitas un sistema operativo probado y verificado para ejecutar Kubernetes en tus instancias de Compute Engine.
Es posible que Container-Optimized OS no sea la opción correcta para ti en los siguientes casos:
- Tu aplicación no está en contenedores o la aplicación en contenedores depende de módulos de kernel, controladores y otros paquetes adicionales que no están disponibles en Container-Optimized OS.
- Necesitas atención al cliente profesional de un proveedor de Linux (Canonical, Core OS, Red Hat, SUSE, etc.).
- Deseas que la imagen y la aplicación de SO sean totalmente compatibles fuera deGoogle Cloud.
Consulta Contenedores en Google Cloud para obtener más información sobre otros sistemas operativos que puedes utilizar para ejecutar aplicaciones en contenedores en Google Cloud. Compute Engine proporciona imágenes para otros sistemas operativos populares, incluidas las imágenes que están optimizadas para contenedores.