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.