Aller au contenu principal

Introduction à OpenShift

Logo OpenShift

Bienvenue dans le monde fascinant d'OpenShift, la plateforme d'orchestration de conteneurs de Red Hat. Depuis son lancement, OpenShift s'est imposé comme un acteur clé dans l'univers des technologies cloud, en particulier pour la gestion et l'automatisation des conteneurs. Avec OpenShift, les développeurs et les administrateurs systèmes disposent d'un environnement robuste pour déployer, gérer et sécuriser des applications conteneurisées à grande échelle.

Historique d'OpenShift

OpenShift, la plateforme de containerisation de Red Hat, a connu une évolution significative depuis sa création. L'aventure a débuté en 2011, avec la première version d'OpenShift, qui était alors une plateforme en tant que service (PaaS). À ses débuts, OpenShift se concentrait sur la simplification du déploiement d'applications pour les développeurs.

En 2015, OpenShift a pris un tournant majeur avec le lancement d'OpenShift 3, marquant son alignement sur Docker pour la containerisation et Kubernetes pour l'orchestration de conteneurs. Cette version a transformé OpenShift en une solution puissante et flexible pour le déploiement d'applications dans des environnements cloud.

Avec OpenShift 4, lancé en 2019, Red Hat a introduit des fonctionnalités automatisées d'installation, de mises à jour et de gestion du cycle de vie, rendant la plateforme encore plus conviviale et robuste. Cette version a également renforcé la sécurité et la gestion des opérations, répondant ainsi aux exigences croissantes des entreprises en matière de déploiements cloud.

Aujourd'hui, OpenShift 4.14 représente l'aboutissement de ces années de développement, offrant une plateforme complète et intégrée pour la gestion de conteneurs, qui facilite la vie des développeurs et des administrateurs systèmes.

OpenShift est bien plus qu'une simple plateforme de gestion de conteneurs. C'est une solution complète offrant automatisation, scalabilité et sécurité, des éléments essentiels dans un environnement de développement moderne. Que vous soyez un administrateur système expérimenté ou nouveau dans le domaine, ce guide vous aidera à comprendre les nuances d'OpenShift, son architecture, ses fonctionnalités clés et comment l'installer sur un mini-PC pour vos projets personnels ou professionnels.

C'est Quoi OpenShift ?

OpenShift est conçue pour offrir une plateforme robuste, sécurisée et facilement évolutive pour la gestion des applications conteneurisées. OpenShift 4 s'appuie sur Kubernetes, mais y ajoute de nombreuses fonctionnalités.

Au cœur d'OpenShift se trouve Kubernetes, le système d'orchestration de conteneurs open-source. Kubernetes fournit le framework de base pour la planification et la gestion des conteneurs sur un cluster de machines. Il gère la répartition de la charge, le déploiement, l'échelle et la mise à jour des applications.

Adaptabilité et Évolutivité

Enfin, l'architecture d'OpenShift est conçue pour être hautement adaptable et évolutive. Elle supporte une multitude d'environnements d'exécution, des comme du "on-prem" aux clouds publics et privés. Cette polyvalence permet aux entreprises de déployer OpenShift de manière cohérente, quelque soit leur infrastructure sous-jacente.

  • Flexibilité d'Infrastructure : OpenShift peut être déployé sur diverses infrastructures, y compris AWS, Azure, Google Cloud, VMware et même sur du matériel bare-metal.
  • Évolutivité : L'un des avantages majeurs d'OpenShift est sa capacité à évoluer dynamiquement. Vous pouvez ajouter ou retirer des nœuds de travail selon les besoins, permettant ainsi à votre cluster de s'adapter aux exigences changeantes des charges de travail.

Les Mots Clés d'OpenShift

  • Nœuds Maîtres (Master Nodes) : Ces nœuds gèrent l'état global du cluster et coordonnent les activités telles que le déploiement des applications, la gestion du réseau et la planification des conteneurs.
  • Nœuds de Travail (Worker Nodes) : Ces machines exécutent les applications et services conteneurisés. Elles sont gérées par les nœuds maîtres et peuvent être ajoutées ou retirées du cluster pour ajuster les ressources disponibles.
  • Opérateur OpenShift : Une caractéristique distinctive d'OpenShift 4 est l'utilisation d'opérateurs. Ces éléments automatisent le déploiement, la gestion et la mise à jour des applications et des services sur OpenShift.
  • Service de Registry : OpenShift intègre son propre service de registry pour gérer les images de conteneurs. Cela facilite la gestion des images, leur déploiement et leur distribution au sein du cluster.
  • Console Web et CLI : OpenShift offre une console web intuitive et une interface en ligne de commande (CLI), permettant une gestion aisée et flexible du cluster et des applications.

Gestion des Ressources et de la Sécurité

OpenShift 4 renforce la gestion des ressources et la sécurité avec des caractéristiques telles que :

  • Gestion des Ressources : OpenShift permet une gestion fine des ressources, en attribuant des quotas et des limites pour les projets et les utilisateurs, assurant ainsi une utilisation optimale des ressources du cluster.
  • Sécurité Renforcée : La sécurité est un aspect crucial d'OpenShift. Il offre des fonctionnalités avancées telles que le contrôle d'accès basé sur les rôles (RBAC), les politiques de réseau.

Intégrations et Extensions

OpenShift permet une intégration aisée avec un large éventail de technologies et de services, ce qui étend encore davantage ses capacités :

  • Storage et Networking : OpenShift offre des options de stockage et de réseau flexibles, avec le support de solutions de stockage persistant et de plugins de réseau avancés.

  • Marketplace d'OpenShift : OpenShift dispose d'une marketplace où les utilisateurs peuvent trouver des applications et des services tiers qui peuvent être intégrés dans leur environnement OpenShift, augmentant ainsi les fonctionnalités disponibles.

La version Open Source OKD

La version open source d'OpenShift est connue sous le nom d'OpenShift Origin, également appelée OKD (Origin Kubernetes Distribution). OKD est essentiellement la version communautaire d'OpenShift, offrant une plateforme de conteneurs basée sur Kubernetes. Elle est construite autour d'une base de code open source et est disponible gratuitement.

Cependant, contrairement à la version commerciale d'OpenShift proposée par Red Hat, OKD ne comprend pas le support d'entreprise, les certifications et certaines fonctionnalités spécifiques à la version entreprise.

OKD est idéal pour les développeurs, les professionnels de l'informatique ou les organisations qui souhaitent explorer OpenShift, développer des applications en conteneurs et expérimenter avec les technologies de cloud natif sans l'investissement initial associé à une solution commerciale.

Installation d'OpenShift sur un seul nœud

Nous allons voir ici, comment installer OpenShift sur un seul nœud, en l'occurrence un mini pc minisforum nab6. Rien de mieux pour se former à OpenShift.

Pré-requis

L'installation d'OpenShift Container Platform sur un seul nœud nécessite :

  • Administration host : Un ordinateur est nécessaire pour préparer l'ISO, créer la clé USB de démarrage.
  • Ressources machines :
    • Minimum 8 cœurs vCPU
    • 16 GB de RAM, mais prévoir plus est mieux
    • 120 GB de disque
  • Réseau :
    • Accès internet ou à un registre local
    • Réservation DHCP ou adresse IP statique pour l'API Kubernetes et les noms de domaine du cluster

Ce prérequis assure une installation efficace d'OpenShift sur un seul nœud.

Pour installer la CLI oc d'OpenShift, suivez ces étapes :

wget https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/stable/openshift-client-linux.tar.gz
tar xvfz openshift-client-linux.tar.gz
chmod +x oc
mv oc ~/.local/bin

oc version
Client Version: 4.14.7
Kustomize Version: v5.0.1
The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?

Création du cluster

Cette installation est assez simple puisque tout se fait depuis la console Red Hat. Il suffit de se créer un compte pour y accéder : console Red Hat. Cliquez sur Overview puis sur [Create Cluster] dans la section Redhat OpenShift Container Plateform.

console Redhat

Cliquez ensuite dans l'onglet Datacenter

console Redhat

Choisissez en bas de l'écran PlatForm Agnostic (x86_64)

console Redhat

Choisissez la méthode Interactive

console Redhat

Donnez un nom à votre cluster ainsi que le domaine, changez le type de réseau si besoin

console Redhat

Faites deux fois suivant, ensuite cliquez sur [Add Host]

console Redhat

Ajoutez votre clé SSH, elle vous servira plus tard à vous connecter au serveur. Ensuite cliquez sur [Generate Discovery ISO].

console Redhat

Récupérez la commande wget et exécutez la :

wget -O discovery_image_test2.iso 'https://api.openshift.com/api/assisted-images/bytoken/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDU0MzQwNjQsInN1YiI6IjcwZjc4MWQ2LTBlMjAtNDA0Yy05YWJiLTJiNmUwMDFlOTQ0NSJ9.rIvj38ymIzFISxvFoLSsAXw_gpOVrvEvsStE3dU73Og/4.14/x86_64/minimal.iso'

Une fois téléchargé, on va flasher cette ISO sur une clé USB.

dd if=<path_to_iso> of=<path_to_usb> status=progress

Insérez là et redémarrez votre mini pc avec ce support. Au bout de quelques instants dans la console RedHat, vous verrez apparaître votre machine. Dans les étapes suivantes il faudra vous armer de patience et attendre que les status soit à "Ready" avant de passer aux étapes suivantes !

console Redhat

Cliquez suivant, puis suivant... En attendant le "Ready"

console Redhat

Sur le dernier écran cliquez sur [Install Cluster]

console Redhat

Et là, c'est plusieurs minutes, voir dizaines, qu'il va falloir attendre .....

console Redhat

Une fois terminée, on peut récupérer le [Kubeconfig] Ajoutez les adresses IP dans votre fichier /etc/hosts :

192.168.1.101	api.test.robert.local
192.168.1.101 oauth-openshift.apps.test.robert.local
192.168.1.101 console-openshift-console.apps.test.robert.local
192.168.1.101 grafana-openshift-monitoring.apps.test.robert.local
192.168.1.101 thanos-querier-openshift-monitoring.apps.test.robert.local
192.168.1.101 prometheus-k8s-openshift-monitoring.apps.test.robert.local
192.168.1.101 alertmanager-main-openshift-monitoring.apps.test.robert.local

Et vous pouvez cliquer sur la console de votre instance :

console Redhat

La console :

console Redhat

Copiez le contenu du fichier kubeconfig dans votre répertoire ~/.kube par exemple ocp.yml

cp ~/Téléchargements/kubeconfig ~/.kube/ocp.yml
export KUBECONFIG=~/.kube/ocp.yml

oc get nodes
NAME STATUS ROLES AGE VERSION
test.robert.local Ready control-plane,master,worker 5h56m v1.27.8+4fab27b

Et voilà votre premier cluster OpenShift est disponible. Je vous conseille d'aller jeter un œil dans la section [Operators].

La suite

Il ne vous reste plus qu'à écrire vos propres manifests Kubernetes en utilisant les les ressources kubernetes de base.

Conclusion

Nous avons parcouru un long chemin dans la découverte d'OpenShift. De son architecture robuste et modulaire à ses capacités étendues de gestion de conteneurs, OpenShift s'est révélé être une plateforme incontournable pour les environnements de cloud hybride et les besoins DevOps modernes.

Ce voyage nous a permis de comprendre non seulement les fonctionnalités techniques d'OpenShift, mais aussi sa disposition à transformer les processus de développement et de déploiement d'applications. Avec l'installation sur un mini-PC, nous avons vu comment OpenShift peut être accessible même pour des projets de petite envergure ou des environnements de test.

En guise de clôture, gardez à l'esprit qu'OpenShift est en constante évolution, alimenté par une communauté active et des mises à jour continues. Restez donc à l'écoute pour les nouvelles fonctionnalités et optimisations.

Plus d'infos