23.5. Configuration d'une connexion au réseau Ethernet SR-IOV
Vous pouvez configurer une connexion réseau Ethernet pour un périphérique de virtualisation d'E/S à racine unique (SR-IOV) dans le cluster.
23.5.1. Objet de configuration de l'appareil Ethernet
Vous pouvez configurer un périphérique de réseau Ethernet en définissant un objet SriovNetwork
.
Le fichier YAML suivant décrit un objet SriovNetwork
:
apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: <name> 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: <sriov_resource_name> 3 networkNamespace: <target_namespace> 4 vlan: <vlan> 5 spoofChk: "<spoof_check>" 6 ipam: |- 7 {} linkState: <link_state> 8 maxTxRate: <max_tx_rate> 9 minTxRate: <min_tx_rate> 10 vlanQoS: <vlan_qos> 11 trust: "<trust_vf>" 12 capabilities: <capabilities> 13
- 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 de réseau 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
SriovNetwork
. Seuls les pods de l'espace de noms cible peuvent s'attacher au réseau supplémentaire. - 5
- Facultatif : Un ID de réseau local virtuel (VLAN) pour le réseau supplémentaire. La valeur entière doit être comprise entre
0
et4095
. La valeur par défaut est0
. - 6
- Facultatif : Le mode de vérification de l'usurpation d'identité du VF. Les valeurs autorisées sont les chaînes
"on"
et"off"
.ImportantVous devez mettre la valeur que vous indiquez entre guillemets, sinon l'objet est rejeté par l'opérateur de réseau SR-IOV.
- 7
- 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.
- 8
- Facultatif : L'état de la liaison de la fonction virtuelle (VF). Les valeurs autorisées sont
enable
,disable
etauto
. - 9
- Facultatif : Vitesse de transmission maximale, en Mbps, pour le VF.
- 10
- Facultatif : Un taux de transmission minimum, en Mbps, pour le VF. Cette valeur doit être inférieure ou égale à la vitesse de transmission maximale.Note
Les cartes réseau Intel ne prennent pas en charge le paramètre
minTxRate
. Pour plus d'informations, voir BZ#1772847. - 11
- Facultatif : Un niveau de priorité IEEE 802.1p pour le VF. La valeur par défaut est
0
. - 12
- Facultatif : Le mode de confiance du VF. Les valeurs autorisées sont les chaînes
"on"
et"off"
.ImportantVous devez mettre la valeur que vous indiquez entre guillemets, sinon l'opérateur de réseau SR-IOV rejette l'objet.
- 13
- Facultatif : Les capacités à configurer pour ce réseau supplémentaire. Vous pouvez spécifier
"{ "ips": true }"
pour activer la prise en charge des adresses IP ou"{ "mac": true }"
pour activer la prise en charge des adresses MAC.
23.5.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.5.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.5.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.
L'opérateur réseau SR-IOV ne crée pas de déploiement de serveur DHCP ; l'opérateur réseau du cluster est responsable de la création du déploiement minimal de serveur DHCP.
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.5.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.5.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 SriovNetwork
. Lorsque vous créez un objet SriovNetwork
, l'opérateur de réseau SR-IOV crée automatiquement un objet NetworkAttachmentDefinition
.
Ne pas modifier ou supprimer un objet SriovNetwork
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
SriovNetwork
, 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: SriovNetwork 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'objetSriovNetwork
créé à l'étape précédente, entrez la commande suivante. Remplacez<namespace>
par le networkNamespace que vous avez spécifié dans l'objetSriovNetwork
.oc get net-attach-def -n <namespace>