•  untoreh-lumière

Sur les conteneurs

Utiliser des conteneurs, quoi et pourquoi

Que sont les conteneurs

[Containers] est un nom donné aux environnements restreints, rendus possibles par une collection de sous-systèmes au sein de Linux comme [cgroups ] et [namespaces ]. Bien que la page wiki utilise le mot virtualisation je pense que le mot isolation est plus approprié, car la virtualisation signifie qu'il existe une couche de traduction entre les deux, tandis que les groupes de contrôle et les espaces de noms séparent et contextualisent les processus.

Les groupes de contrôle sont utilisés pour définir les politiques d'allocation des ressources, généralementRAM etCPU , tandis que les espaces de noms contrôlent les contextes tels que les points de montage, la mise en réseau et les utilisateurs. [Apparmor] fournit plutôt un moyen de restreindre les capacités des environnements de conteneurs dans leur ensemble, alors que apparmor sans conteneurs est, comme écrit dans wikipedia, basé sur un programme.

Des outils comme plat et caserne de pompiersutiliser des conteneurs, pour contraindre la surface d'accès des applications utilisateur. Les conteneurs [Windows] implémentent des systèmes équivalents et offrent également une prise en charge des conteneurs Linux via [WSL].

Mais pourquoi?

Trop?

Quand j'ai commencé à construire pin , j'ai un peu expérimenté l'envoi de mes propres images de conteneurs, distribuées à partir des versions de github. Le scénario principal (trees ) les commandes étaient

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

C'était similaire à flatpak, car j'envoyais un delta statique ostree basé sur l'image principale du pin, et [vérifier] le nouveau rootfs basé sur l'application, puis lancer une instance de conteneur par-dessus. OpenVZ avait beaucoup de problèmes avant la v7 pour exécuter un conteneur (puisque vous savez... vous exécutiez un imbriqué conteneur sur un [VPS] basé sur un conteneur, et le noyau était un fork dev2.6 (!))...c'était un énorme perte de temps.

Lorsque?

Ma tentative était d'obtenir un environnement d'exécution de conteneur minimal sans nécessiterdocker ou un logiciel plus costaud, car docker est probablement le plus léger, et essaim de dockers , étant intégré, partage de nombreuses fonctionnalités et vous fournit les fonctionnalités les plus utiles pour l'orchestration, ce qui en fait la configuration la plus adaptée aux exigences du système hôte par rapport à k8s ou nomade.

Bien que les conteneurs soient une fonctionnalité que vous pourriez souhaiter la plupart du temps, l'orchestration ne l'est pas. je pense vaguement ciblé les campagnes publicitaires attirent non intentionnel public cible pour un tel logiciel, faisant croire qu'il peut être utile pour eux , sans insister sur la prémisse que vous vraiment besoin d'évoluer beaucoup (!) Pour justifier le coût de complexité de telles configurations. Le nombre de outillage pratique construit autour de k8s pour aider le processus d'amorçage d'un cluster k8s devrait être une preuve suffisante ...

Conclusion

Les outils d'orchestration finissent par encombrer la place des solutions de gestion de machines multi-hôtes lorsque les utilisateurs ne peuvent pas faire la différence entre les serveurs pour animaux de compagnie et les serveurs de bétail. A de nombreuses reprises, des logiciels comme ansible, pyinfra ou encore cssh ou cendre est tout ce dont on a besoin.

Mots-clés :