Présentation
rkt est un moteur de conteneurs d'applications développé pour les nouveaux environnements cloud-native de production. Il propose une approche native pour les pods, un environnement d'exécution intégrable, ainsi qu'une surface bien définie qui facilite son intégration à d'autres systèmes.
L'unité d'exécution centrale de rkt est le pod. Un pod est constitué d'une ou de plusieurs applications qui s'exécutent dans un contexte partagé (les pods rkt correspondent au concept du système d'orchestration Kubernetes). rkt permet aux utilisateurs d'appliquer différentes configurations (comme les paramètres d'isolation) à la fois au niveau du pod et au niveau de chaque application. L'architecture rkt veut que chaque pod s'exécute directement dans le modèle de processus Unix classique (c'est-à-dire sans démon central), dans un environnement autonome et isolé. rkt met en œuvre un format de conteneur moderne, ouvert et standard, la spécification App Container (appc), mais peut également exécuter d'autres images de conteneurs, comme celles créées avec Docker.
Avantages
Composabilité
Fidèle à la philosophie des outils unix, rkt est un moteur binaire unique qui s'intègre aux systèmes init, aux scripts et aux pipelines DevOps complexes. Les conteneurs trouvent leur place dans la hiérarchie PID et peuvent être gérés avec les utilitaires habituels.
Isolation personnalisable
Les conteneurs s'utilisent comme des objets de déploiement standard plus sécurisés. Il faut choisir le niveau d'isolation approprié à l'aide des « stages » de l'architecture d'exécution intégrable de rkt.
Pods intégrés
La plus petite unité de rkt est le pod, un groupe de conteneurs associés qui partagent des ressources. Ces pods permettent d'empiler facilement des composants associés, et sont directement reliés aux concepts de gestion de clusters.
Petite histoire
Depuis son lancement par CoreOS en décembre 2014, le projet rkt a considérablement mûri et gagné en popularité. Il est aujourd'hui disponible pour la plupart des principales distributions Linux® et chaque version de rkt propose des paquets rpm/deb autonomes que les utilisateurs peuvent installer. Ces paquets sont également disponibles dans le cadre du référentiel Kubernetes pour permettre le test de l'intégration rkt + Kubernetes. rkt joue également un rôle central dans l'exécution de Kubernetes par Google Container Image et CoreOS Container Linux. Red Hat a fait don du projet à la Cloud Native Computing Foundation (CNCF).
rkt est désormais un projet de la Cloud Native Computing Foundation (CNCF).