Red Hat Universal Base Image (UBI) aide à construire et à vivre

Les conteneurs sont une version allégée de l'espace utilisateur du système d'exploitation Linux - en fait, il s'agit d'un minimum «nu». Néanmoins, il s'agit toujours d'un système d'exploitation à part entière, et donc la qualité de ce conteneur lui-même est aussi importante qu'un système d'exploitation à part entière. C'est pourquoi nous proposons depuis longtemps des images Red Hat Enterprise Linux (RHEL) afin que les utilisateurs puissent disposer de conteneurs certifiés, modernes et à jour au niveau de l'entreprise. Exécution d'images de conteneur de RHEL sur des hôtes de conteneur RHEL offre la compatibilité et la portabilité entre les environnements, sans oublier que ce sont déjà des outils familiers. Il y avait cependant un problème. Vous ne pouvez pas simplement transférer une telle image à quelqu'un d'autre, même s'il s'agit d'un client ou d'un partenaire utilisant Red Hat Enterprise Linux.



Mais maintenant tout a changé

Avec la sortie de l'image de base universelle (UBI) de Red Hat, vous pouvez désormais bénéficier de la fiabilité, de la sécurité et des performances élevées des images de conteneurs Red Hat officielles, que vous ayez un abonnement ou non. Cela signifie que vous pouvez créer une application conteneurisée sur UBI, la mettre dans le registre de conteneurs de votre choix et la partager avec le monde. Red Hat Universal Base Image vous permet de créer, partager et collaborer sur une application conteneurisée dans n'importe quel environnement - où vous le souhaitez.



Grâce à UBI, il est possible de publier et d'exécuter vos applications sur pratiquement n'importe quelle infrastructure. Mais si vous les exécutez sur des plates-formes Red Hat telles que Red Hat OpenShift et Red Hat Enterprise Linux, vous pouvez obtenir des avantages supplémentaires (plus d'or!). Et jusqu'à ce que nous passions à une description plus détaillée de UBI, permettez-moi de vous fournir une brève FAQ sur la raison pour laquelle l'abonnement RHEL est nécessaire. Alors, que se passe-t-il lorsque vous exécutez l'image UBI sur la plate-forme RHEL / OpenShift?



Maintenant que nous sommes satisfaits du marketing, parlons plus de UBI

Raisons d'utiliser UBI


Ce que vous devez ressentir pour comprendre que l'UBI vous sera utile:

  • Mes développeurs souhaitent utiliser des images de conteneurs qui peuvent être distribuées et exécutées dans n'importe quel environnement.
  • Mon équipe d' exploitation veut une image de base prise en charge avec un cycle de vie au niveau de l'entreprise
  • Mes architectes veulent proposer Kubernetes Operator à mes clients / utilisateurs finaux
  • Mes clients ne souhaitent pas bénéficier d'une prise en charge de niveau entreprise pour l'ensemble de leur environnement Red Hat.
  • Ma communauté veut partager, exécuter, publier, héberger des applications littéralement partout.

Si au moins l'un des scénarios vous convient, alors vous devriez certainement faire attention à UBI.

Plus qu'un simple look basique


UBI est moins qu'un système d'exploitation à part entière, mais UBI a trois choses importantes:

  1. Un ensemble de trois images de base (ubi, ubi-minimal, ubi-init)
  2. Images avec des temps d'exécution prêts à l'emploi de divers langages de programmation (nodejs, ruby, python, php, perl, etc.)
  3. Un ensemble de packages associés dans le référentiel YUM avec les dépendances les plus courantes




UBI a été créé comme base pour des applications natives du cloud et Web développées et livrées dans des conteneurs. Tout le contenu dans UBI est un sous-ensemble de RHEL. Tous les packages dans UBI passent par les canaux RHEL et sont pris en charge comme RHEL lorsqu'ils sont lancés sur les plateformes Red Hat prises en charge telles que OpenShift et RHEL.



Pour fournir un support de qualité aux conteneurs, de nombreux efforts d'ingénieurs, de spécialistes de la sécurité et d'autres ressources supplémentaires sont nécessaires. Cela nécessite non seulement de tester des images de base, mais également d'analyser leur comportement sur tout hôte pris en charge.

Afin de faciliter les tâches associées à la mise à niveau, Red Hat développe activement le développement et la prise en charge, afin que UBI 7 puisse être exécuté, par exemple, sur des hôtes RHEL 8 et UBI 8 sur des hôtes RHEL 7. Cela offre aux utilisateurs la flexibilité, la confiance et la tranquillité d'esprit nécessaires dans le processus. , par exemple, des mises à jour de plate-forme dans des images de conteneur ou des hôtes utilisés. Maintenant, tout cela peut être divisé en deux projets indépendants.

Trois images de base




Minimal - conçu pour les applications avec toutes les dépendances (Python, Node.js, .NET, etc.)

  • Ensemble minimum de contenu préinstallé
  • Aucun exécutable suid
  • Boîte à outils minimale du gestionnaire de packages (installation, mise à jour et désinstallation)

Plateforme - pour toutes les applications fonctionnant sur RHEL

  • Pile cryptographique unifiée OpenSSL
  • Pile complète YUM
  • Utilitaires de base du système d'exploitation utiles inclus (tar, gzip, vi, etc.)

Multi-Service - simplifie le lancement de plusieurs services dans un seul conteneur

  • Configuré pour exécuter systemd au démarrage
  • La possibilité d'activer les services au stade de la construction

Images de conteneurs avec des durées d'exécution prédéfinies de langages de programmation


En plus des images de base qui vous permettent d'installer la prise en charge des langages de programmation, les UBI incluent des images prédéfinies avec des temps d'exécution prêts à l'emploi pour un certain nombre de langages de programmation. De nombreux développeurs peuvent simplement prendre une image et commencer à travailler sur l'application qu'ils développent.

Avec le lancement d'UBI, Red Hat propose deux ensembles d'images - basés sur RHEL 7 et basés sur RHEL 8. Ils étaient basés sur les collections de logiciels Red Hat (RHEL 7) et les flux d'application (RHEL 8), respectivement. Ces runtimes sont tenus à jour et reçoivent normalement jusqu'à quatre mises à jour par an, il y a donc toujours la possibilité de travailler avec les versions les plus récentes et les plus stables.

Voici une liste d'images de conteneurs UBI 7:



Voici une liste d'images de conteneurs pour UBI 8:



Packages associés


L'utilisation d'images prêtes à l'emploi est vraiment très pratique. Red Hat conserve leur pertinence et les met à jour avec la sortie de la nouvelle version de RHEL, ainsi que des mises à jour CVE critiques conformément à la politique de mise à jour de la politique d'image RHEL afin que vous puissiez prendre l'une de ces images et commencer immédiatement à travailler sur l'application.



Mais parfois, lorsque vous créez une application, vous pouvez soudainement avoir besoin d'un package supplémentaire. Ou, parfois, pour faire fonctionner l'application, vous devez mettre à jour un package particulier. C'est pourquoi les images UBI sont livrées avec un ensemble de RPM qui sont disponibles via yum et qui sont distribués via un réseau de diffusion de contenu rapide et hautement accessible (vous emballez!). Lorsque vous exécutez une mise à jour yum sur votre CI / CD à ce moment critique de la sortie, vous pouvez être sûr que cela fonctionnera.

RHEL est la fondation


Nous ne nous lassons pas de répéter que RHEL est le fondement de tout. Savez-vous quelles équipes de Red Hat travaillent à la création d'images de base? Par exemple, ceux-ci:

  • Une équipe d'ingénierie chargée de garantir que les bibliothèques de base telles que glibc et OpenSSL, ainsi que les exécutions de langage telles que Python et Ruby, fournissent des performances cohérentes et fonctionnent de manière fiable avec les charges de travail lorsqu'elles sont utilisées dans des conteneurs.
  • Le groupe de sécurité des produits est engagé dans la correction en temps opportun des erreurs et des problèmes de sécurité dans les bibliothèques et les environnements linguistiques, leurs performances sont évaluées à l'aide du grade spécial Container Health Index .
  • L'équipe de chefs de produit et d'ingénieurs ajoute de nouvelles fonctionnalités et offre un long cycle de vie du produit, ce qui donne confiance en l'investissement qui peut être utilisé comme base.

Red Hat Enterprise Linux agit comme un excellent hôte et image pour les conteneurs, mais pour de nombreux développeurs, la capacité de travailler avec le système dans une variété de formats est importante, dont certains peuvent aller au-delà des scénarios pris en charge pour l'utilisation du système Linux. Et ici, les images UBI universelles viennent à la rescousse.

Supposons, en ce moment, à ce stade, que vous cherchiez simplement une image de base pour commencer à travailler sur une application conteneurisée simple. Ou êtes-vous plus proche de l'avenir et passez de conteneurs autonomes fonctionnant sur le moteur de conteneur à un historique natif du cloud en utilisant des opérateurs de construction et de certification fonctionnant sur OpenShift. Dans tous les cas, UBI fournira une excellente base pour cela.



Les conteneurs incluent une version allégée de l'espace utilisateur du système d'exploitation dans un nouveau format d'emballage. La sortie des images UBI établit une nouvelle norme industrielle pour le développement conteneurisé, avec des conteneurs de classe entreprise devenant disponibles pour tous les utilisateurs, les développeurs de logiciels indépendants et les communautés open source. En particulier, les développeurs de logiciels peuvent standardiser leurs produits en utilisant une base unique et éprouvée pour toutes leurs applications conteneurisées, y compris les opérateurs Kubernetes . La certification Red Hat Container et la certification Red Hat OpenShift Operator Certification sont également disponibles pour les sociétés de développement basées sur UBI, ce qui permet à son tour une vérification continue des logiciels exécutés sur les plates-formes Red Hat telles que OpenShift.



Comment commencer à travailler avec une image


En bref - très simple. Podman est disponible non seulement sur RHEL, mais aussi sur Fedora, CentOS et plusieurs autres distributions Linux. Tout ce que vous avez à faire est de télécharger l'image depuis l'un des référentiels suivants, et c'est parti.

Pour UBI 8:

podman pull registry.access.redhat.com/ubi8/ubi podman pull registry.access.redhat.com/ubi8/ubi-minimal podman pull registry.access.redhat.com/ubi8/ubi-init 

Pour UBI 7:

 podman pull registry.access.redhat.com/ubi7/ubi podman pull registry.access.redhat.com/ubi7/ubi-minimal podman pull registry.access.redhat.com/ubi7/ubi-init 

Eh bien et voir le guide complet de l'image de base universelle

Source: https://habr.com/ru/post/fr451090/


All Articles