23.6. Configuration d'une connexion au réseau InfiniBand SR-IOV
Vous pouvez configurer une connexion réseau InfiniBand (IB) pour un périphérique de virtualisation d'E/S à racine unique (SR-IOV) dans le cluster.
23.6.1. Objet de configuration du dispositif InfiniBand
Vous pouvez configurer un périphérique réseau InfiniBand (IB) en définissant un objet SriovIBNetwork
.
Le fichier YAML suivant décrit un objet SriovIBNetwork
:
apiVersion: sriovnetwork.openshift.io/v1 kind: SriovIBNetwork metadata: name: <name> 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: <sriov_resource_name> 3 networkNamespace: <target_namespace> 4 ipam: |- 5 {} linkState: <link_state> 6 capabilities: <capabilities> 7
- 1
- Un nom pour l'objet. L'opérateur de réseau SR-IOV crée un objet
NetworkAttachmentDefinition
portant le même nom. - 2
- L'espace de noms dans lequel l'opérateur SR-IOV est installé.
- 3
- La valeur du paramètre
spec.resourceName
de l'objetSriovNetworkNodePolicy
qui définit le matériel SR-IOV pour ce réseau supplémentaire. - 4
- L'espace de noms cible pour l'objet
SriovIBNetwork
. Seuls les pods de l'espace de noms cible peuvent s'attacher au périphérique réseau. - 5
- Facultatif : Un objet de configuration pour le plugin IPAM CNI sous la forme d'un bloc YAML scalaire. Le plugin gère l'attribution des adresses IP pour la définition de l'attachement.
- 6
- Facultatif : L'état de la liaison de la fonction virtuelle (VF). Les valeurs autorisées sont
enable
,disable
etauto
. - 7
- Facultatif : Les capacités à configurer pour ce réseau. Vous pouvez spécifier
"{ "ips": true }"
pour activer la prise en charge des adresses IP ou"{ "infinibandGUID": true }"
pour activer la prise en charge des identificateurs uniques globaux (GUID) de l'IB.
23.6.1.1. Configuration de l'attribution d'adresses IP pour un réseau supplémentaire
Le module de gestion des adresses IP (IPAM) Container Network Interface (CNI) fournit des adresses IP aux autres modules CNI.
Vous pouvez utiliser les types d'attribution d'adresses IP suivants :
- Affectation statique.
- Attribution dynamique par le biais d'un serveur DHCP. Le serveur DHCP que vous spécifiez doit être accessible depuis le réseau supplémentaire.
- Affectation dynamique via le plugin CNI de Whereabouts IPAM.
23.6.1.1.1. Configuration de l'attribution d'une adresse IP statique
Le tableau suivant décrit la configuration pour l'attribution d'une adresse IP statique :
Field | Type | Description |
---|---|---|
|
|
Le type d'adresse IPAM. La valeur |
|
| Un tableau d'objets spécifiant les adresses IP à attribuer à l'interface virtuelle. Les adresses IPv4 et IPv6 sont prises en charge. |
|
| Un tableau d'objets spécifiant les routes à configurer dans le pod. |
|
| Facultatif : Un tableau d'objets spécifiant la configuration DNS. |
Le tableau addresses
nécessite des objets avec les champs suivants :
Field | Type | Description |
---|---|---|
|
|
Une adresse IP et un préfixe de réseau que vous spécifiez. Par exemple, si vous spécifiez |
|
| Passerelle par défaut vers laquelle acheminer le trafic réseau sortant. |
Field | Type | Description |
---|---|---|
|
|
La plage d'adresses IP au format CIDR, par exemple |
|
| La passerelle où le trafic réseau est acheminé. |
Field | Type | Description |
---|---|---|
|
| Un tableau d'une ou plusieurs adresses IP auxquelles envoyer les requêtes DNS. |
|
|
Le domaine par défaut à ajouter à un nom d'hôte. Par exemple, si le domaine est défini sur |
|
|
Un tableau de noms de domaine à ajouter à un nom d'hôte non qualifié, tel que |
Exemple de configuration de l'attribution d'une adresse IP statique
{ "ipam": { "type": "static", "addresses": [ { "address": "191.168.1.7/24" } ] } }
23.6.1.1.2. Configuration de l'attribution dynamique d'adresses IP (DHCP)
Le JSON suivant décrit la configuration pour l'attribution dynamique d'adresses IP avec DHCP.
Un pod obtient son bail DHCP d'origine lors de sa création. Le bail doit être renouvelé périodiquement par un serveur DHCP minimal déployé sur le cluster.
Pour déclencher le déploiement du serveur DHCP, vous devez créer un attachement réseau shim en modifiant la configuration de l'opérateur réseau du cluster, comme dans l'exemple suivant :
Exemple de définition de l'attachement au réseau de cales
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: additionalNetworks: - name: dhcp-shim namespace: default type: Raw rawCNIConfig: |- { "name": "dhcp-shim", "cniVersion": "0.3.1", "type": "bridge", "ipam": { "type": "dhcp" } } # ...
Field | Type | Description |
---|---|---|
|
|
Le type d'adresse IPAM. La valeur |
Exemple de configuration de l'attribution dynamique d'une adresse IP (DHCP)
{ "ipam": { "type": "dhcp" } }
23.6.1.1.3. Configuration de l'attribution dynamique d'adresses IP avec Whereabouts
Le plugin Whereabouts CNI permet l'attribution dynamique d'une adresse IP à un réseau supplémentaire sans utiliser de serveur DHCP.
Le tableau suivant décrit la configuration pour l'attribution dynamique d'adresses IP avec Whereabouts :
Field | Type | Description |
---|---|---|
|
|
Le type d'adresse IPAM. La valeur |
|
| Une adresse IP et une plage d'adresses en notation CIDR. Les adresses IP sont attribuées à partir de cette plage d'adresses. |
|
| Facultatif : Une liste de zéro ou plusieurs adresses IP et plages d'adresses en notation CIDR. Les adresses IP situées dans une plage d'adresses exclue ne sont pas attribuées. |
Exemple de configuration de l'attribution dynamique d'adresses IP à l'aide de Whereabouts
{ "ipam": { "type": "whereabouts", "range": "192.0.2.192/27", "exclude": [ "192.0.2.192/30", "192.0.2.196/32" ] } }
23.6.2. Configuration du réseau supplémentaire SR-IOV
Vous pouvez configurer un réseau supplémentaire qui utilise le matériel SR-IOV en créant un objet SriovIBNetwork
. Lorsque vous créez un objet SriovIBNetwork
, l'opérateur de réseau SR-IOV crée automatiquement un objet NetworkAttachmentDefinition
.
Ne pas modifier ou supprimer un objet SriovIBNetwork
s'il est rattaché à un pod en état running
.
Conditions préalables
-
Installez le CLI OpenShift (
oc
). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin
.
Procédure
Créez un objet
SriovIBNetwork
, puis enregistrez le fichier YAML dans le fichier<name>.yaml
, où<name>
est le nom de ce réseau supplémentaire. La spécification de l'objet peut ressembler à l'exemple suivant :apiVersion: sriovnetwork.openshift.io/v1 kind: SriovIBNetwork metadata: name: attach1 namespace: openshift-sriov-network-operator spec: resourceName: net1 networkNamespace: project2 ipam: |- { "type": "host-local", "subnet": "10.56.217.0/24", "rangeStart": "10.56.217.171", "rangeEnd": "10.56.217.181", "gateway": "10.56.217.1" }
Pour créer l'objet, entrez la commande suivante :
$ oc create -f <name>.yaml
où
<name>
indique le nom du réseau supplémentaire.Facultatif : Pour confirmer l'existence de l'objet
NetworkAttachmentDefinition
associé à l'objetSriovIBNetwork
créé à l'étape précédente, entrez la commande suivante. Remplacez<namespace>
par le networkNamespace que vous avez spécifié dans l'objetSriovIBNetwork
.oc get net-attach-def -n <namespace>