Chapitre 2. Driver Toolkit
Découvrez le Driver Toolkit et comment vous pouvez l'utiliser comme image de base pour les conteneurs de pilotes afin d'activer des dispositifs logiciels et matériels spéciaux sur les déploiements d'OpenShift Container Platform.
2.1. À propos du Driver Toolkit
Contexte
Le Driver Toolkit est une image de conteneur dans la charge utile d'OpenShift Container Platform utilisée comme image de base sur laquelle vous pouvez construire des conteneurs de pilotes. L'image Driver Toolkit comprend les paquets du noyau généralement requis comme dépendances pour construire ou installer des modules du noyau, ainsi que quelques outils nécessaires dans les conteneurs de pilotes. La version de ces paquets correspondra à la version du noyau fonctionnant sur les nœuds Red Hat Enterprise Linux CoreOS (RHCOS) dans la version correspondante d'OpenShift Container Platform.
Les conteneurs de pilotes sont des images de conteneurs utilisées pour construire et déployer des modules de noyau et des pilotes hors arbre sur des systèmes d'exploitation de conteneurs tels que RHCOS. Les modules du noyau et les pilotes sont des bibliothèques logicielles fonctionnant avec un niveau de privilège élevé dans le noyau du système d'exploitation. Ils étendent les fonctionnalités du noyau ou fournissent le code spécifique au matériel nécessaire pour contrôler de nouveaux dispositifs. Les exemples incluent les dispositifs matériels tels que les Field Programmable Gate Arrays (FPGA) ou les GPU, et les solutions de stockage définies par logiciel (SDS), telles que les systèmes de fichiers parallèles Lustre, qui nécessitent des modules de noyau sur les machines clientes. Les conteneurs de pilotes constituent la première couche de la pile logicielle utilisée pour activer ces technologies sur Kubernetes.
La liste des paquets du noyau dans le Driver Toolkit comprend les éléments suivants et leurs dépendances :
-
kernel-core
-
kernel-devel
-
kernel-headers
-
kernel-modules
-
kernel-modules-extra
En outre, le Driver Toolkit comprend également les paquets de noyau en temps réel correspondants :
-
kernel-rt-core
-
kernel-rt-devel
-
kernel-rt-modules
-
kernel-rt-modules-extra
Le Driver Toolkit contient également plusieurs outils qui sont généralement nécessaires pour construire et installer les modules du noyau, notamment :
-
elfutils-libelf-devel
-
kmod
-
binutilskabi-dw
-
kernel-abi-whitelists
- pour les dépendances ci-dessus
Objectif
Avant l'existence du Driver Toolkit, les utilisateurs installaient les paquets du noyau dans un pod ou construisaient la configuration sur OpenShift Container Platform en utilisant des constructions autorisées ou en installant à partir des RPM du noyau dans les hôtes machine-os-content
. Le Driver Toolkit simplifie le processus en supprimant l'étape d'habilitation, et évite l'opération privilégiée d'accès à la machine-os-content dans un pod. Le Driver Toolkit peut également être utilisé par les partenaires qui ont accès à des versions pré-vendues d'OpenShift Container Platform pour préconstruire des conteneurs de pilotes pour leurs périphériques matériels pour les futures versions d'OpenShift Container Platform.
Le Driver Toolkit est également utilisé par le Kernel Module Management (KMM), qui est actuellement disponible en tant qu'opérateur communautaire sur OperatorHub. KMM prend en charge les pilotes de noyau hors arbre et tiers, ainsi que le logiciel de support du système d'exploitation sous-jacent. Les utilisateurs peuvent créer des modules pour KMM afin de construire et de déployer un conteneur de pilote, ainsi qu'un logiciel de support tel qu'un plugin de périphérique ou des métriques. Les modules peuvent inclure une configuration de construction pour construire un conteneur de pilote basé sur le Driver Toolkit, ou KMM peut déployer un conteneur de pilote préconstruit.