Aller au contenu principal

Concepts

L'offre OpenShift Standalone par NumSpot délivre une expérience OpenShift qui s'affranchit des contraintes liées à l'installation, la configuration et la maintenance du service. Celle-ci est basée sur un panel de services managés permettant :

  • la création, la consultation d'informations (liste/détail) et la suppression de clusters.
  • l'ajout / suppression de nodepools pour gérer une typologie de nodes dans votre cluster y compris des GPU pour l'entrainement de modèles d'intelligence artificielle.
  • la mise à jour des informations.
  • la montée de versions des clusters.

Pour rappel, il suffit uniquement de déployer votre application, et le service managé assurera en autonomie sa disponibilité.

OpenShift c'est quoi ?

OpenShift Standalone par NumSpot est un service de plate-forme conçue pour automatiser le déploiement, la gestion et la mise à l'échelle des applications conteneurisées. Pour ce faire, OpenShift utilise les technologies de RunTime de conteneurs via la norme OCI (Open Container Initiative) et d'orchestration autour des technologies Kubernetes.

Conteneurs et Kubernetes

La conteneurisation une méthode de virtualisation légère qui permet aux développeurs d'empaqueter une application avec toutes ses dépendances dans une unité standardisée et portable. Cette technologie permet de s'assurer que les applications s'exécutent de manière cohérente, quel que soit l'environnement sous-jacent. Kubernetes, souvent abrégé en K8s, est un orchestrateur de conteneurs open-source qui automatise le déploiement, la gestion et la mise à l'échelle des applications conteneurisées. Il gère les clusters de machines sur lesquelles les conteneurs sont déployés, en veillant à ce que les applications soient hautement disponibles et facilement évolutives.

OpenShift vs Kubernetes

OpenShift et kubernetes répondent au même besoin d'autoscaling et de résilience. OpenShift peut être vu comme une surcouche de kubernetes. L'ajout de composants d'administration (exemple: console d'administration).

Architecture Générale d'OpenShift

L'architecture d'OpenShift repose sur plusieurs composants clés, qui travaillent ensemble pour fournir une plateforme cohérente et intégrée pour le déploiement et la gestion des applications conteneurisées.

Masters et Nodes

L'architecture d'OpenShift suit le modèle maître-esclave typique de Kubernetes. Les composants maîtres (masters) sont responsables de la gestion du cluster et incluent :

  • API Server : Interface principale pour la gestion des ressources Kubernetes.
  • Controller Manager : Assure le bon fonctionnement des contrôleurs Kubernetes.
  • Scheduler : Assigne les conteneurs aux nodes en fonction des ressources disponibles.
  • etcd : Base de données clé-valeur pour le stockage des données de configuration du cluster.

Les nodes (nodes) exécutent les conteneurs d'application et incluent :

  • Kubelet : Agent qui gère les conteneurs sur chaque node.
  • Kube-proxy : Gère les règles de réseau pour la communication entre les services.
  • CRI-O ou Docker : Moteurs de conteneurisation qui exécutent les conteneurs.

Routes et Services

OpenShift utilise des services et des routes pour gérer le trafic réseau vers les applications déployées :

  • Services : Abstractions de réseau qui exposent les ensembles de pods Kubernetes.
  • Routes : Mécanismes spécifiques à OpenShift pour exposer les applications externes en définissant des URL externes.

Gestion des Projets et des Espaces de Noms

OpenShift introduit des concepts supplémentaires comme les projets, qui sont des espaces de noms Kubernetes avec des configurations de sécurité et de ressources spécifiques, pour une isolation et une gestion plus fine des différentes équipes et applications au sein du même cluster. Cela permet une isolation et une gestion plus fine des différentes équipes et applications au sein du même cluster.

Systèmes de Stockage

Pour les applications nécessitant un stockage persistant, OpenShift intègre divers plugins de stockage pour gérer les volumes persistants (Persistent Volumes) et les réclamations de volumes (Persistent Volume Claims). Cela permet aux applications de conserver l'état et les données au-delà de la durée de vie des conteneurs. NumSpot fournit dans le cadre de ses offres OpenShift & Kubernetes managées un CSI (Container Storage Interface) pour les données de ses clients. Essentiel pour l'intégration et la gestion du stockage bloc, NumSpot facilite la flexibilité, l'automatisation et l'évolutivité nécessaires pour permettre à ses clients de gérer efficacement leurs stockages associés à leurs applications déployées dans un environnement d'orchestration de conteneurs.

Intérêt de l'offre OpenShift Standalone par NumSpot

Productivité des Développeurs

OpenShift Standalone par NumSpot facilite le travail des développeurs en fournissant une série d'outils et de services intégrés pour le développement, les tests et le déploiement des applications. Grâce à son intégration continue et ses fonctionnalités de livraison continue (CI/CD), OpenShift permet des itérations rapides et des mises en production fréquentes.

Gestion Simplifiée

OpenShift Standalone par NumSpot simplifie la gestion de clusters grâce à ses interfaces utilisateur intuitives, une administration centralisée, une automatisation des tâches, une intégration avec des outils tiers (Grafana, Prometheus), et un support des workflows DevOps. Il offre des fonctionnalités avancées comme la gestion des ressources, la surveillance, et les mises à jour automatiques des composants de la plateforme.

Sécurité Renforcée

La sécurité est un aspect essentiel de toute plateforme de conteneurs. OpenShift Standalone par NumSpot intègre des fonctionnalités de sécurité robustes, telles que des contrôles d'accès basés sur les rôles (RBAC), le respect des politiques de sécurité intrinsèques à OpenShift des conteneurs, et des outils de scanning des images pour détecter les vulnérabilités. Cela garantit que les applications et les données sont protégées tout au long de leur cycle de vie.

Support Entreprise

En tant que service PaaS managé de NumSpot et produit de Red Hat, OpenShift bénéficie d'un support de classe entreprise couvert par RedHat. Cela inclut des mises à jour régulières, des correctifs de sécurité, et une assistance technique dédiée. Cette assurance de fiabilité et de support est un atout supplémentaire pour les entreprises qui font confiance à NumSpot pour le management de leur infrastructure de conteneurs.

Les services complémentaires fournis par l'offre OpenShift Standalone par NumSpot

Authentification

L'accès est restreint par les données transmises par les services IAM à travers une fédération d'identité basée sur OIDC. Afin d'accéder au sein du Cluster OpenShift, le commanditaire doit être enregistré comme tel dans l'IAM NumSpot selon la procédure décrite ici.

Autorisation

La notion d'autorisation dans OpenShift est essentielle pour contrôler l'accès aux ressources et assurer la sécurité des applications déployées. OpenShift utilise une approche basée sur les rôles (RBAC - Role-Based-Access-Control) pour gérer les autorisations.

Autorisation et Contrôle d'Accès dans OpenShift RBAC (Role-Based-Access-Control)

  • Rôles : Les rôles définissent un ensemble de permissions. Ils peuvent être prédéfinis (comme admin, edit, view) ou personnalisés selon les besoins spécifiques de l'organisation.
  • Bindings : Les RoleBindings et ClusterRoleBindings associent des rôles à des utilisateurs ou des groupes d'utilisateurs. Les RoleBindings sont spécifiques à un projet (namespace), tandis que les ClusterRoleBindings sont globaux et s'appliquent à l'ensemble du cluster.

Composants Clés

  • Users and Groups : Les utilisateurs peuvent être des individus ou des services, et ils peuvent être regroupés pour une gestion simplifiée des autorisations.
  • Service Accounts : Utilisés par des applications pour accéder aux ressources. Chaque projet peut avoir plusieurs comptes de service avec des permissions spécifiques.
  • Roles and ClusterRoles : Les Roles sont utilisés pour définir des permissions au niveau du namespace, tandis que les ClusterRoles s'appliquent au niveau du cluster entier.

Types de Rôles

  1. Basic Roles:
  • view : Permet de visualiser les ressources sans pouvoir les modifier.
  • edit : Permet de créer, modifier et supprimer des ressources dans un namespace.
  • admin : Permet de gérer toutes les ressources et les autorisations dans un namespace.
  1. Aggregate Roles: Groupes de rôles qui permettent de combiner plusieurs permissions en un seul rôle. Par exemple, view, edit, et admin peuvent être combinés avec des rôles spécifiques pour les ressources.

Sécurité réseaux

Le service managé OpenShift Standalone par NumSpot respecte les bonnes pratiques, les exigences et conformités ANSSI pour garantir à ses clients un espace dédié et cloisonné. Chaque cluster OpenShift Standalone a son propre espace réservé cloisonné par une couche d'accès via un Load balancer frontal différent pour chaque préoccupation:

  • Accès à la Kube-API
  • Accès via https aux workloads applicatifs

La sécurité réseau dans OpenShift est un aspect essentiel pour protéger les communications entre les composants, les applications et les utilisateurs. Pour cela, OpenShift utilise plusieurs mécanismes pour assurer la sécurité du réseau, y compris les politiques réseau, le chiffrement, les pare-feux, et l'intégration avec des solutions de sécurité tierces. Enfin, OpenShift s'intègre avec des solutions de sécurité tierces pour offrir des fonctionnalités de sécurité réseau avancées comme le service Mesh. Par exemple, il est possible à travers les opérateurs mis à disposition de déployer le service Mesh comme Istio pour gérer et sécuriser le trafic réseau au sein de projets de microservices.

Haute disponibilité

Conformément aux bonnes pratiques pour assurer la haute disponibilité d'accès aux services, un control-plane dédié à la gestion des clusters client est provisionné pour assurer le bon fonctionnement du management du service OpenShift Standalone. Les nodes "Worker" provisionnés dans un "nodepool" sont au minimum au nombre de 2 par cluster, soit dans un même "nodepool", soit répartis sur 2 "nodepools" différents.

Surveillance

Chaque cluster dispose d'une console d'administration Web qui centralise toutes ses informations sur la première page, comme décrit ici.

Environnement OpenShift embarqué

Retrouvez la console web d'OpenShift, dont les accès sont régis par le gestionnaire d'identité de NumSpot.