Sobre el proyecto
El sistema operativo Bottlerocket es un sistema operativo gratuito y de código abierto basado en Linux, diseñado por Amazon para alojar cargas de trabajo de contenedores de manera segura y confiable. A diferencia de las distribuciones tradicionales de Linux de propósito general, Bottlerocket minimiza su superficie de ataque al eliminar componentes innecesarios como gestores de paquetes y shells interactivos del entorno de ejecución predeterminado. Su arquitectura prioriza la seguridad, el mantenimiento y la consistencia.
Características clave:
- Sistema de archivos inmutable: El sistema de archivos raíz es de solo lectura, lo que previene modificaciones no autorizadas o accidentales que podrían comprometer la estabilidad.
- Configuración basada en API: Los ajustes del sistema se gestionan mediante una API HTTP local en lugar de ediciones manuales de archivos. Esto permite cambios de configuración estructurados y validados que se migran automáticamente entre actualizaciones.
- Actualizaciones confiables: Bottlerocket utiliza un mecanismo de actualización de doble partición (particiones A/B). Descarga imágenes completas del sistema de archivos aseguradas por The Update Framework (TUF) y se reinicia en la nueva versión. Si el arranque falla, revierte automáticamente al estado anterior.
- Contenedores host: Las tareas de gestión se aíslan en contenedores separados (contenedores de Control y Administración) que se ejecutan fuera del orquestador principal, asegurando que la sobrecarga de gestión no afecte el rendimiento de las cargas de trabajo.
Entornos compatibles:
Bottlerocket ofrece variantes específicas adaptadas a diferentes orquestadores de contenedores y plataformas en la nube:
- AWS EKS (Kubernetes): Variantes como `aws-k8s-1.31` hasta `1.36`, incluyendo versiones habilitadas para GPU NVIDIA.
- AWS ECS: Variantes como `aws-ecs-2` y `aws-ecs-3`, que admiten modos estándar y compatibles con FIPS.
- VMware: Variantes de nodo trabajador de Kubernetes (`vmware-k8s-*`).
Acceso y gestión:
Por defecto, SSH está deshabilitado para mejorar la seguridad. Los administradores pueden acceder al sistema usando:
1. Contenedor de Control: Utiliza AWS Systems Manager (SSM) Session Manager para ejecutar comandos y ver registros sin exposición de red.
2. Contenedor de Administración: Un contenedor opcional que proporciona acceso SSH para depuración avanzada y acceso a la shell raíz mediante `sheltie`.
La configuración se maneja a través de la herramienta `apiclient` o pasando ajustes TOML/JSON durante la inicialización de la instancia. El sistema admite varios ajustes, incluyendo integración con clústeres de Kubernetes, configuración del agente de ECS, proxies de red, NTP, parámetros del kernel y certificados CA personalizados.
Comunidad y contribución:
Bottlerocket fomenta la participación de la comunidad a través de discusiones en GitHub y grupos de Meetup. Las contribuciones son bienvenidas mediante la guía de contribuyentes. Los problemas de seguridad deben informarse directamente al equipo de seguridad, no en rastreadores de problemas públicos.
Arquitecturas:
El sistema operativo admite arquitecturas x86_64 y ARM64 (aarch64), lo que lo hace adecuado para una amplia gama de implementaciones de hardware dentro de los proveedores de nube compatibles.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.