Chapitre 14. Configuration de périphériques supplémentaires dans un environnement IBM zSystems ou IBM(R) LinuxONE
Après avoir installé OpenShift Container Platform, vous pouvez configurer des périphériques supplémentaires pour votre cluster dans un environnement IBM zSystems ou IBM® LinuxONE, qui est installé avec z/VM. Les périphériques suivants peuvent être configurés :
- Hôte du protocole Fibre Channel (FCP)
- FCP LUN
- DASD
- qeth
Vous pouvez configurer les périphériques en ajoutant des règles udev à l'aide du MCO (Machine Config Operator) ou vous pouvez configurer les périphériques manuellement.
Les procédures décrites ici s'appliquent uniquement aux installations z/VM. Si vous avez installé votre cluster avec RHEL KVM sur une infrastructure IBM zSystems ou IBM® LinuxONE, aucune configuration supplémentaire n'est nécessaire à l'intérieur de l'invité KVM après l'ajout des périphériques aux invités KVM. Cependant, tant dans les environnements z/VM que RHEL KVM, les étapes suivantes pour configurer l'opérateur de stockage local et l'opérateur NMState de Kubernetes doivent être appliquées.
Ressources supplémentaires
14.1. Configuration d'appareils supplémentaires à l'aide du MCO (Machine Config Operator)
Les tâches de cette section décrivent comment utiliser les fonctionnalités de Machine Config Operator (MCO) pour configurer des périphériques supplémentaires dans un environnement IBM zSystems ou IBM® LinuxONE. La configuration des périphériques avec le MCO est persistante mais ne permet que des configurations spécifiques pour les nœuds de calcul. Le MCO ne permet pas aux nœuds du plan de contrôle d'avoir des configurations différentes.
Conditions préalables
- You are logged in to the cluster as a user with administrative privileges.
- Le périphérique doit être disponible pour l'invité z/VM.
- L'appareil est déjà fixé.
-
Le périphérique n'est pas inclus dans la liste
cio_ignore
, qui peut être définie dans les paramètres du noyau. Vous avez créé un fichier objet
MachineConfig
avec le YAML suivant :apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfigPool metadata: name: worker0 spec: machineConfigSelector: matchExpressions: - {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,worker0]} nodeSelector: matchLabels: node-role.kubernetes.io/worker0: ""
14.1.1. Configuration d'un hôte Fibre Channel Protocol (FCP)
L'exemple suivant montre comment configurer un adaptateur hôte FCP avec la virtualisation de l'identificateur de port N (NPIV) en ajoutant une règle udev.
Procédure
Prenons l'exemple suivant : règle udev
441-zfcp-host-0.0.8000.rules
:ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.8000", DRIVER=="zfcp", GOTO="cfg_zfcp_host_0.0.8000" ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", TEST=="[ccw/0.0.8000]", GOTO="cfg_zfcp_host_0.0.8000" GOTO="end_zfcp_host_0.0.8000" LABEL="cfg_zfcp_host_0.0.8000" ATTR{[ccw/0.0.8000]online}="1" LABEL="end_zfcp_host_0.0.8000"
Convertissez la règle en code Base64 en exécutant la commande suivante :
$ base64 /path/to/file/
Copiez l'exemple de profil MCO suivant dans un fichier YAML :
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker0 1 name: 99-worker0-devices spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;base64,<encoded_base64_string> 2 filesystem: root mode: 420 path: /etc/udev/rules.d/41-zfcp-host-0.0.8000.rules 3
14.1.2. Configuration d'un LUN FCP
L'exemple suivant montre comment configurer un LUN FCP en ajoutant une règle udev. Vous pouvez ajouter de nouveaux LUN FCP ou des chemins d'accès supplémentaires à des LUN déjà configurés avec le multipathing.
Procédure
Prenons l'exemple suivant : règle udev
41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules
:ACTION=="add", SUBSYSTEMS=="ccw", KERNELS=="0.0.8000", GOTO="start_zfcp_lun_0.0.8207" GOTO="end_zfcp_lun_0.0.8000" LABEL="start_zfcp_lun_0.0.8000" SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x500507680d760026", GOTO="cfg_fc_0.0.8000_0x500507680d760026" GOTO="end_zfcp_lun_0.0.8000" LABEL="cfg_fc_0.0.8000_0x500507680d760026" ATTR{[ccw/0.0.8000]0x500507680d760026/unit_add}="0x00bc000000000000" GOTO="end_zfcp_lun_0.0.8000" LABEL="end_zfcp_lun_0.0.8000"
Convertissez la règle en code Base64 en exécutant la commande suivante :
$ base64 /path/to/file/
Copiez l'exemple de profil MCO suivant dans un fichier YAML :
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker0 1 name: 99-worker0-devices spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;base64,<encoded_base64_string> 2 filesystem: root mode: 420 path: /etc/udev/rules.d/41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules 3
14.1.3. Configuration du DASD
L'exemple suivant montre comment configurer un périphérique DASD en ajoutant une règle udev.
Procédure
Prenons l'exemple suivant : règle udev
41-dasd-eckd-0.0.4444.rules
:ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.4444", DRIVER=="dasd-eckd", GOTO="cfg_dasd_eckd_0.0.4444" ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="dasd-eckd", TEST=="[ccw/0.0.4444]", GOTO="cfg_dasd_eckd_0.0.4444" GOTO="end_dasd_eckd_0.0.4444" LABEL="cfg_dasd_eckd_0.0.4444" ATTR{[ccw/0.0.4444]online}="1" LABEL="end_dasd_eckd_0.0.4444"
Convertissez la règle en code Base64 en exécutant la commande suivante :
$ base64 /path/to/file/
Copiez l'exemple de profil MCO suivant dans un fichier YAML :
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker0 1 name: 99-worker0-devices spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;base64,<encoded_base64_string> 2 filesystem: root mode: 420 path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules 3
14.1.4. Configuration de qeth
Voici un exemple de configuration d'un périphérique qeth par l'ajout d'une règle udev.
Procédure
Prenons l'exemple suivant : règle udev
41-qeth-0.0.1000.rules
:ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", GOTO="group_qeth_0.0.1000" ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="group_qeth_0.0.1000" ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1001", DRIVER=="qeth", GOTO="group_qeth_0.0.1000" ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1002", DRIVER=="qeth", GOTO="group_qeth_0.0.1000" ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="cfg_qeth_0.0.1000" GOTO="end_qeth_0.0.1000" LABEL="group_qeth_0.0.1000" TEST=="[ccwgroup/0.0.1000]", GOTO="end_qeth_0.0.1000" TEST!="[ccw/0.0.1000]", GOTO="end_qeth_0.0.1000" TEST!="[ccw/0.0.1001]", GOTO="end_qeth_0.0.1000" TEST!="[ccw/0.0.1002]", GOTO="end_qeth_0.0.1000" ATTR{[drivers/ccwgroup:qeth]group}="0.0.1000,0.0.1001,0.0.1002" GOTO="end_qeth_0.0.1000" LABEL="cfg_qeth_0.0.1000" ATTR{[ccwgroup/0.0.1000]online}="1" LABEL="end_qeth_0.0.1000"
Convertissez la règle en code Base64 en exécutant la commande suivante :
$ base64 /path/to/file/
Copiez l'exemple de profil MCO suivant dans un fichier YAML :
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker0 1 name: 99-worker0-devices spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;base64,<encoded_base64_string> 2 filesystem: root mode: 420 path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules 3