- Système d’exploitation basé sur Linux optimisé pour l’hébergement de conteneurs
- Conçu pour fonctionner avec des orchestrateurs de conteneurs (par ex. Kubernetes) afin d’automatiser le cycle de vie des conteneurs exécutés dans un cluster
- Ses trois objectifs principaux sont : minimisation, mises à jour sécurisées et approche axée sur la sécurité
- Il n’a pas de shell, mais il est possible d’interagir avec le système via un conteneur « hôte » disposant des privilèges nécessaires
- Les mises à jour sont fournies via des images téléchargées sur une partition spécifique. Bottlerocket remplace ensuite la partition et démarre de façon atomique sur la nouvelle version
- Il utilise plusieurs partitions pour gérer les mises à jour. Les changements atomiques sont appliqués au redémarrage
- Les mises à jour peuvent être gérées manuellement ou via des outils dédiés aux orchestrateurs comme Bottlerocket Update Operator (brupop) et ECS updater
- Écrit en Rust avec un peu de Golang
- Le système de fichiers racine de Bottlerocket est immuable.
dm-verity fournit une vérification d’intégrité transparente du système de fichiers racine, et si une modification est détectée sur le périphérique de blocs sous-jacent, le noyau redémarre
- Bottlerocket dispose d’un système de fichiers mutable, toujours activé, avec des politiques SELinux obligatoires et restrictives, ce qui aide à empêcher les conteneurs exécutés en root d’effectuer des opérations dangereuses
1 commentaires
Avis Hacker News