Chapitre 2. Aperçu de la plateforme OpenShift Container


OpenShift Container Platform est une plateforme de conteneurs Kubernetes basée sur le cloud. La fondation d'OpenShift Container Platform est basée sur Kubernetes et partage donc la même technologie. Elle est conçue pour permettre aux applications et aux centres de données qui les prennent en charge de passer de quelques machines et applications à des milliers de machines desservant des millions de clients.

OpenShift Container Platform vous permet de faire ce qui suit :

  • Fournir aux développeurs et aux services informatiques des plateformes d'applications en nuage qui peuvent être utilisées pour déployer des applications sur des ressources sécurisées et évolutives.
  • Nécessitent une configuration et une gestion minimales.
  • Apporter la plateforme Kubernetes aux centres de données et au cloud des clients.
  • Répondre aux exigences en matière de sécurité, de confidentialité, de conformité et de gouvernance.

Avec son fondement dans Kubernetes, OpenShift Container Platform incorpore la même technologie qui sert de moteur aux télécommunications massives, à la vidéo en continu, aux jeux, à la banque et à d'autres applications. Sa mise en œuvre dans les technologies ouvertes Red Hat vous permet d'étendre vos applications conteneurisées au-delà d'un seul cloud à des environnements sur site et multicloud.

2.1. Glossaire des termes courants pour OpenShift Container Platform

Ce glossaire définit les termes courants de Kubernetes et d'OpenShift Container Platform.

Kubernetes
Kubernetes est un moteur d'orchestration de conteneurs open source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.
Conteneurs
Les conteneurs sont des instances d'application et des composants qui s'exécutent dans des conteneurs conformes à l'OCI sur les nœuds de travail. Un conteneur est le temps d'exécution d'une image conforme à l'Open Container Initiative (OCI). Une image est une application binaire. Un nœud de travailleur peut exécuter de nombreux conteneurs. La capacité d'un nœud est liée aux capacités de mémoire et d'unité centrale des ressources sous-jacentes, qu'il s'agisse d'un nuage, de matériel ou de virtualisation.
Cosse

Un pod est un ou plusieurs conteneurs déployés ensemble sur un hôte. Il s'agit d'un groupe de conteneurs colocalisés avec des ressources partagées telles que des volumes et des adresses IP. Un pod est également la plus petite unité de calcul définie, déployée et gérée.

Dans OpenShift Container Platform, les pods remplacent les conteneurs d'application individuels en tant que plus petite unité déployable.

Les pods sont l'unité orchestrée dans OpenShift Container Platform. OpenShift Container Platform planifie et exécute tous les conteneurs d'un pod sur le même nœud. Les applications complexes sont composées de nombreux pods, chacun avec ses propres conteneurs. Elles interagissent avec l'extérieur et aussi avec l'intérieur de l'environnement d'OpenShift Container Platform.

Jeu de répliques et contrôleur de réplication
L'ensemble de répliques Kubernetes et le contrôleur de réplication OpenShift Container Platform sont tous deux disponibles. Le rôle de ce composant est de s'assurer que le nombre spécifié de répliques de pods est en cours d'exécution à tout moment. Si des pods sortent ou sont supprimés, l'ensemble de répliques ou le contrôleur de réplication en démarre d'autres. Si le nombre de pods en cours d'exécution est supérieur aux besoins, l'ensemble de réplicas en supprime autant que nécessaire pour atteindre le nombre de réplicas spécifié.
Déploiement et DeploymentConfig

OpenShift Container Platform implémente à la fois les objets Kubernetes Deployment et les objets OpenShift Container Platform DeploymentConfigs. Les utilisateurs peuvent choisir l'un ou l'autre.

Deployment contrôlent la manière dont une application est déployée sous forme de pods. Ils identifient le nom de l'image du conteneur à extraire du registre et à déployer en tant que module sur un nœud. Ils définissent le nombre de répliques du module à déployer, en créant un ensemble de répliques pour gérer le processus. Les étiquettes indiquées indiquent au planificateur sur quels nœuds déployer le module. L'ensemble des étiquettes est inclus dans la définition du module que l'ensemble de répliques instancie.

Deployment sont capables de mettre à jour les pods déployés sur les nœuds de travail en fonction de la version des objets Deployment et des diverses stratégies de déploiement pour gérer la disponibilité acceptable de l'application. Les objets DeploymentConfig d'OpenShift Container Platform ajoutent les caractéristiques supplémentaires des déclencheurs de changement, qui sont capables de créer automatiquement de nouvelles versions des objets Deployment lorsque de nouvelles versions de l'image du conteneur sont disponibles, ou d'autres changements.

Service

Un service définit un ensemble logique de modules et de politiques d'accès. Il fournit des adresses IP internes permanentes et des noms d'hôtes que d'autres applications peuvent utiliser lors de la création et de la destruction des pods.

Les couches de service relient les composants de l'application entre eux. Par exemple, un service web frontal se connecte à une instance de base de données en communiquant avec son service. Les services permettent un simple équilibrage de la charge interne entre les composants de l'application. OpenShift Container Platform injecte automatiquement des informations sur les services dans les conteneurs en cours d'exécution pour faciliter la découverte.

Itinéraire
Une route est un moyen d'exposer un service en lui donnant un nom d'hôte accessible de l'extérieur, tel que www.example.com. Chaque route se compose d'un nom de route, d'un sélecteur de service et, éventuellement, d'une configuration de sécurité. Un routeur peut consommer une route définie et les points d'extrémité identifiés par son service pour fournir un nom qui permet aux clients externes d'accéder à vos applications. Bien qu'il soit facile de déployer une application multi-niveaux complète, le trafic provenant de n'importe où en dehors de l'environnement OpenShift Container Platform ne peut pas atteindre l'application sans la couche de routage.
Construire
Une compilation est le processus de transformation des paramètres d'entrée en un objet résultant. Le plus souvent, le processus est utilisé pour transformer les paramètres d'entrée ou le code source en une image exécutable. Un objet BuildConfig est la définition de l'ensemble du processus de construction. OpenShift Container Platform exploite Kubernetes en créant des conteneurs à partir d'images de construction et en les poussant vers le registre intégré.
Projet

OpenShift Container Platform utilise des projets pour permettre à des groupes d'utilisateurs ou de développeurs de travailler ensemble, servant d'unité d'isolation et de collaboration. Il définit la portée des ressources, permet aux administrateurs de projets et aux collaborateurs de gérer les ressources, et restreint et suit les ressources de l'utilisateur à l'aide de quotas et de limites.

Un projet est un espace de noms Kubernetes avec des annotations supplémentaires. Il s'agit du véhicule central de gestion de l'accès aux ressources pour les utilisateurs réguliers. Un projet permet à une communauté d'utilisateurs d'organiser et de gérer son contenu de manière isolée par rapport aux autres communautés. Les utilisateurs doivent recevoir l'accès aux projets de la part des administrateurs. Mais les administrateurs de clusters peuvent autoriser les développeurs à créer leurs propres projets, auquel cas les utilisateurs ont automatiquement accès à leurs propres projets.

Chaque projet possède son propre ensemble d'objets, de politiques, de contraintes et de comptes de service.

Les projets sont également connus sous le nom d'espaces de noms.

Opérateurs

Un opérateur est une application native Kubernetes. L'objectif d'un Operator est de mettre les connaissances opérationnelles dans un logiciel. Auparavant, ces connaissances résidaient uniquement dans l'esprit des administrateurs, dans diverses combinaisons de scripts shell ou dans des logiciels d'automatisation tels qu'Ansible. Elle était en dehors de votre cluster Kubernetes et difficile à intégrer. Avec les opérateurs, tout cela change.

Les opérateurs sont conçus spécialement pour vos applications. Ils mettent en œuvre et automatisent les activités courantes du jour 1, telles que l'installation et la configuration, ainsi que les activités du jour 2, telles que l'augmentation et la réduction d'échelle, la reconfiguration, les mises à jour, les sauvegardes, les défaillances et les restaurations dans un logiciel fonctionnant dans votre cluster Kubernetes en s'intégrant nativement aux concepts et aux API de Kubernetes. C'est ce qu'on appelle une application native Kubernetes.

Avec les opérateurs, les applications ne doivent pas être traitées comme une collection de primitives, telles que les pods, les déploiements, les services ou les cartes de configuration. Au lieu de cela, les opérateurs doivent être traités comme un objet unique qui expose les options qui ont un sens pour l'application.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.