23.8. Configuration des paramètres sysctl du réseau au niveau de l'interface pour les réseaux SR-IOV
En tant qu'administrateur de cluster, vous pouvez modifier les sysctls de réseau au niveau de l'interface à l'aide du méta plugin Tuning Container Network Interface (CNI) pour un pod connecté à un périphérique réseau SR-IOV.
23.8.1. Étiquetage des nœuds dotés d'une carte d'interface réseau compatible SR-IOV
Si vous souhaitez activer SR-IOV uniquement sur les nœuds capables de le faire, il existe plusieurs façons de procéder :
-
Installez l'opérateur NFD (Node Feature Discovery). NFD détecte la présence de cartes d'interface réseau compatibles SR-IOV et étiquette les nœuds avec
node.alpha.kubernetes-incubator.io/nfd-network-sriov.capable = true
. Examinez le CR
SriovNetworkNodeState
pour chaque nœud. La stropheinterfaces
comprend une liste de tous les dispositifs SR-IOV découverts par l'opérateur de réseau SR-IOV sur le nœud de travail. Étiquetez chaque nœud avecfeature.node.kubernetes.io/network-sriov.capable: "true"
à l'aide de la commande suivante :$ oc label node <node_name> feature.node.kubernetes.io/network-sriov.capable="true"
NoteVous pouvez donner aux nœuds le nom que vous souhaitez.
23.8.2. Définition d'un drapeau sysctl
Vous pouvez définir les paramètres du réseau sysctl
au niveau de l'interface pour un pod connecté à un périphérique réseau SR-IOV.
Dans cet exemple, net.ipv4.conf.IFNAME.accept_redirects
est défini sur 1
sur les interfaces virtuelles créées.
Le site sysctl-tuning-test
est un espace de noms utilisé dans cet exemple.
Utilisez la commande suivante pour créer l'espace de noms
sysctl-tuning-test
:$ oc create namespace sysctl-tuning-test
23.8.2.1. Définition d'un drapeau sysctl sur les nœuds dotés de périphériques réseau SR-IOV
L'opérateur de réseau SR-IOV ajoute la définition de ressource personnalisée (CRD) SriovNetworkNodePolicy.sriovnetwork.openshift.io
à OpenShift Container Platform. Vous pouvez configurer un périphérique réseau SR-IOV en créant une ressource personnalisée (CR) SriovNetworkNodePolicy
.
Lors de l'application de la configuration spécifiée dans un objet SriovNetworkNodePolicy
, l'opérateur SR-IOV peut vidanger et redémarrer les nœuds.
L'application d'une modification de configuration peut prendre plusieurs minutes.
Suivez cette procédure pour créer une ressource personnalisée (CR) SriovNetworkNodePolicy
.
Procédure
Créez une ressource personnalisée (CR)
SriovNetworkNodePolicy
. Par exemple, enregistrez le YAML suivant dans le fichierpolicyoneflag-sriov-node-network.yaml
:apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: policyoneflag 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: policyoneflag 3 nodeSelector: 4 feature.node.kubernetes.io/network-sriov.capable="true" priority: 10 5 numVfs: 5 6 nicSelector: 7 pfNames: ["ens5"] 8 deviceType: "netdevice" 9 isRdma: false 10
- 1
- Nom de l'objet ressource personnalisé.
- 2
- L'espace de noms dans lequel l'opérateur de réseau SR-IOV est installé.
- 3
- Le nom de la ressource du plugin de périphérique réseau SR-IOV. Vous pouvez créer plusieurs stratégies de nœuds de réseau SR-IOV pour un nom de ressource.
- 4
- Le sélecteur de nœuds indique les nœuds à configurer. Seuls les périphériques de réseau SR-IOV sur les nœuds sélectionnés sont configurés. Le plugin SR-IOV Container Network Interface (CNI) et le plugin de périphérique sont déployés sur les nœuds sélectionnés uniquement.
- 5
- Facultatif : La priorité est une valeur entière comprise entre
0
et99
. Plus la valeur est petite, plus la priorité est élevée. Par exemple, une priorité de10
est plus élevée que celle de99
. La valeur par défaut est99
. - 6
- Le nombre de fonctions virtuelles (VF) à créer pour le périphérique de réseau physique SR-IOV. Pour un contrôleur d'interface réseau (NIC) Intel, le nombre de VF ne peut pas être supérieur au nombre total de VF pris en charge par le périphérique. Pour un NIC Mellanox, le nombre de VF ne peut pas être supérieur à
128
. - 7
- Le sélecteur NIC identifie le dispositif à configurer par l'opérateur. Il n'est pas nécessaire de spécifier des valeurs pour tous les paramètres. Il est recommandé d'identifier le périphérique réseau avec suffisamment de précision pour éviter de sélectionner un périphérique par inadvertance. Si vous spécifiez
rootDevices
, vous devez également spécifier une valeur pourvendor
,deviceID
oupfNames
. Si vous spécifiezpfNames
etrootDevices
en même temps, assurez-vous qu'ils se réfèrent au même dispositif. Si vous spécifiez une valeur pournetFilter
, il n'est pas nécessaire de spécifier d'autres paramètres car un ID de réseau est unique. - 8
- Facultatif : Un tableau d'un ou plusieurs noms de fonctions physiques (PF) pour l'appareil.
- 9
- Facultatif : Le type de pilote pour les fonctions virtuelles. La seule valeur autorisée est
netdevice
. Pour qu'une carte d'interface réseau Mellanox fonctionne en mode DPDK sur des nœuds métalliques nus, définissezisRdma
surtrue
. - 10
- Facultatif : Permet d'activer ou non le mode d'accès direct à la mémoire à distance (RDMA). La valeur par défaut est
false
. Si le paramètreisRdma
est défini surtrue
, vous pouvez continuer à utiliser le VF compatible RDMA comme un périphérique réseau normal. Un périphérique peut être utilisé dans l'un ou l'autre mode. DéfinissezisRdma
surtrue
etneedVhostNet
surtrue
pour configurer une carte d'interface réseau Mellanox à utiliser avec les applications Fast Datapath DPDK.
NoteLe type de pilote
vfio-pci
n'est pas pris en charge.Créer l'objet
SriovNetworkNodePolicy
:$ oc create -f policyoneflag-sriov-node-network.yaml
Après avoir appliqué la mise à jour de la configuration, tous les pods de l'espace de noms
sriov-network-operator
passent à l'étatRunning
.Pour vérifier que le dispositif de réseau SR-IOV est configuré, entrez la commande suivante. Remplacez
<node_name>
par le nom d'un nœud avec le dispositif de réseau SR-IOV que vous venez de configurer.oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'
Exemple de sortie
Succeeded
23.8.2.2. Configuration de sysctl sur un réseau SR-IOV
Vous pouvez définir des paramètres sysctl
spécifiques à l'interface sur les interfaces virtuelles créées par SR-IOV en ajoutant la configuration de réglage au paramètre facultatif metaPlugins
de la ressource SriovNetwork
.
L'opérateur de réseau SR-IOV gère les définitions de réseaux supplémentaires. Lorsque vous indiquez un réseau SR-IOV supplémentaire à créer, l'opérateur de réseau SR-IOV crée automatiquement la ressource personnalisée (CR) NetworkAttachmentDefinition
.
Ne modifiez pas les ressources personnalisées NetworkAttachmentDefinition
gérées par l'opérateur de réseau SR-IOV. Cela pourrait perturber le trafic sur votre réseau supplémentaire.
Pour modifier les paramètres du réseau au niveau de l'interface net.ipv4.conf.IFNAME.accept_redirects
sysctl
, créez un réseau SR-IOV supplémentaire avec le plugin de réglage Container Network Interface (CNI).
Conditions préalables
- Installez le CLI (oc) de OpenShift Container Platform.
- Connectez-vous au cluster OpenShift Container Platform en tant qu'utilisateur disposant des privilèges cluster-admin.
Procédure
Créez la ressource personnalisée (CR)
SriovNetwork
pour l'attachement supplémentaire au réseau SR-IOV et insérez la configurationmetaPlugins
, comme dans l'exemple de CR suivant. Enregistrez le YAML dans le fichiersriov-network-interface-sysctl.yaml
.apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: onevalidflag 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: policyoneflag 3 networkNamespace: sysctl-tuning-test 4 ipam: '{ "type": "static" }' 5 capabilities: '{ "mac": true, "ips": true }' 6 metaPlugins : | 7 { "type": "tuning", "capabilities":{ "mac":true }, "sysctl":{ "net.ipv4.conf.IFNAME.accept_redirects": "1" } }
- 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
- 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
- Optionnel : Définissez les capacités du 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. - 7
- Facultatif : Le paramètre metaPlugins est utilisé pour ajouter des capacités supplémentaires à l'appareil. Dans ce cas d'utilisation, réglez le champ
type
surtuning
. Spécifiez le réseau au niveau de l'interfacesysctl
que vous souhaitez définir dans le champsysctl
.
Créer la ressource
SriovNetwork
:$ oc create -f sriov-network-interface-sysctl.yaml
Vérification de la création de la CR NetworkAttachmentDefinition
Confirmez que l'opérateur du réseau SR-IOV a créé le CR
NetworkAttachmentDefinition
en exécutant la commande suivante :oc get network-attachment-definitions -n <namespace> 1
- 1
- Remplacez
<namespace>
par la valeur denetworkNamespace
que vous avez spécifiée dans l'objetSriovNetwork
. Par exemple,sysctl-tuning-test
.
Exemple de sortie
NAME AGE onevalidflag 14m
NoteIl peut y avoir un délai avant que l'opérateur du réseau SR-IOV ne crée le CR.
Vérification de la réussite de l'attachement au réseau SR-IOV supplémentaire
Pour vérifier que le CNI d'accord est correctement configuré et que l'attachement réseau SR-IOV supplémentaire est attaché, procédez comme suit :
Créez un CR
Pod
. Enregistrez le YAML suivant dans le fichierexamplepod.yaml
:apiVersion: v1 kind: Pod metadata: name: tunepod namespace: sysctl-tuning-test annotations: k8s.v1.cni.cncf.io/networks: |- [ { "name": "onevalidflag", 1 "mac": "0a:56:0a:83:04:0c", 2 "ips": ["10.100.100.200/24"] 3 } ] spec: containers: - name: podexample image: centos command: ["/bin/bash", "-c", "sleep INF"] securityContext: runAsUser: 2000 runAsGroup: 3000 allowPrivilegeEscalation: false capabilities: drop: ["ALL"] securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault
- 1
- Le nom du CR de définition de l'attachement au réseau SR-IOV.
- 2
- Facultatif : L'adresse MAC de l'appareil SR-IOV qui est allouée à partir du type de ressource défini dans la définition de l'attachement au réseau SR-IOV CR. Pour utiliser cette fonctionnalité, vous devez également spécifier
{ "mac": true }
dans l'objet SriovNetwork. - 3
- Facultatif : adresses IP pour le périphérique SR-IOV qui sont allouées à partir du type de ressource défini dans le CR de définition de l'attachement au réseau SR-IOV. Les adresses IPv4 et IPv6 sont prises en charge. Pour utiliser cette fonctionnalité, vous devez également spécifier
{ "ips": true }
dans l'objetSriovNetwork
.
Créer le CR
Pod
:$ oc apply -f examplepod.yaml
Vérifiez que le module est créé en exécutant la commande suivante :
$ oc get pod -n sysctl-tuning-test
Exemple de sortie
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47s
Connectez-vous au module en exécutant la commande suivante :
$ oc rsh -n sysctl-tuning-test tunepod
Vérifiez les valeurs de l'indicateur sysctl configuré. Trouvez la valeur
net.ipv4.conf.IFNAME.accept_redirects
en exécutant la commande suivante: :$ sysctl net.ipv4.conf.net1.accept_redirects
Exemple de sortie
net.ipv4.conf.net1.accept_redirects = 1
23.8.3. Configuration des paramètres sysctl pour les pods associés au drapeau d'interface SR-IOV lié
Vous pouvez définir les paramètres du réseau sysctl
au niveau de l'interface pour un pod connecté à un périphérique réseau SR-IOV lié.
Dans cet exemple, les paramètres spécifiques au niveau de l'interface réseau sysctl
qui peuvent être configurés sont définis sur l'interface liée.
Le site sysctl-tuning-test
est un espace de noms utilisé dans cet exemple.
Utilisez la commande suivante pour créer l'espace de noms
sysctl-tuning-test
:$ oc create namespace sysctl-tuning-test
23.8.3.1. Définition de tous les drapeaux sysctl sur les nœuds avec des périphériques de réseau SR-IOV liés
L'opérateur de réseau SR-IOV ajoute la définition de ressource personnalisée (CRD) SriovNetworkNodePolicy.sriovnetwork.openshift.io
à OpenShift Container Platform. Vous pouvez configurer un périphérique réseau SR-IOV en créant une ressource personnalisée (CR) SriovNetworkNodePolicy
.
Lors de l'application de la configuration spécifiée dans un objet SriovNetworkNodePolicy, l'opérateur SR-IOV peut vidanger les nœuds et, dans certains cas, les redémarrer.
L'application d'une modification de configuration peut prendre plusieurs minutes.
Suivez cette procédure pour créer une ressource personnalisée (CR) SriovNetworkNodePolicy
.
Procédure
Créez une ressource personnalisée (CR)
SriovNetworkNodePolicy
. Enregistrez le YAML suivant dans le fichierpolicyallflags-sriov-node-network.yaml
. Remplacezpolicyallflags
par le nom de la configuration.apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: policyallflags 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: policyallflags 3 nodeSelector: 4 node.alpha.kubernetes-incubator.io/nfd-network-sriov.capable = `true` priority: 10 5 numVfs: 5 6 nicSelector: 7 pfNames: ["ens1f0"] 8 deviceType: "netdevice" 9 isRdma: false 10
- 1
- Nom de l'objet ressource personnalisé.
- 2
- L'espace de noms dans lequel l'opérateur de réseau SR-IOV est installé.
- 3
- Le nom de la ressource du plugin de périphérique réseau SR-IOV. Vous pouvez créer plusieurs stratégies de nœuds de réseau SR-IOV pour un nom de ressource.
- 4
- Le sélecteur de nœuds indique les nœuds à configurer. Seuls les périphériques de réseau SR-IOV sur les nœuds sélectionnés sont configurés. Le plugin SR-IOV Container Network Interface (CNI) et le plugin de périphérique sont déployés sur les nœuds sélectionnés uniquement.
- 5
- Facultatif : La priorité est une valeur entière comprise entre
0
et99
. Plus la valeur est petite, plus la priorité est élevée. Par exemple, une priorité de10
est plus élevée que celle de99
. La valeur par défaut est99
. - 6
- Nombre de fonctions virtuelles (VF) à créer pour le périphérique réseau physique SR-IOV. Pour un contrôleur d'interface réseau (NIC) Intel, le nombre de VF ne peut pas être supérieur au nombre total de VF pris en charge par le périphérique. Pour un NIC Mellanox, le nombre de VF ne peut pas être supérieur à
128
. - 7
- Le sélecteur NIC identifie le dispositif à configurer par l'opérateur. Il n'est pas nécessaire de spécifier des valeurs pour tous les paramètres. Il est recommandé d'identifier le périphérique réseau avec suffisamment de précision pour éviter de sélectionner un périphérique par inadvertance. Si vous spécifiez
rootDevices
, vous devez également spécifier une valeur pourvendor
,deviceID
oupfNames
. Si vous spécifiezpfNames
etrootDevices
en même temps, assurez-vous qu'ils se réfèrent au même dispositif. Si vous spécifiez une valeur pournetFilter
, il n'est pas nécessaire de spécifier d'autres paramètres car un ID de réseau est unique. - 8
- Facultatif : Un tableau d'un ou plusieurs noms de fonctions physiques (PF) pour l'appareil.
- 9
- Facultatif : Le type de pilote pour les fonctions virtuelles. La seule valeur autorisée est
netdevice
. Pour qu'une carte d'interface réseau Mellanox fonctionne en mode DPDK sur des nœuds métalliques nus, définissezisRdma
surtrue
. - 10
- Facultatif : Permet d'activer ou non le mode d'accès direct à la mémoire à distance (RDMA). La valeur par défaut est
false
. Si le paramètreisRdma
est défini surtrue
, vous pouvez continuer à utiliser le VF compatible RDMA comme un périphérique réseau normal. Un périphérique peut être utilisé dans l'un ou l'autre mode. DéfinissezisRdma
surtrue
etneedVhostNet
surtrue
pour configurer une carte d'interface réseau Mellanox à utiliser avec les applications Fast Datapath DPDK.
NoteLe type de pilote
vfio-pci
n'est pas pris en charge.Créer l'objet SriovNetworkNodePolicy :
$ oc create -f policyallflags-sriov-node-network.yaml
Après avoir appliqué la mise à jour de la configuration, tous les pods de l'espace de noms sriov-network-operator passent à l'état
Running
.Pour vérifier que le dispositif de réseau SR-IOV est configuré, entrez la commande suivante. Remplacez
<node_name>
par le nom d'un nœud avec le dispositif de réseau SR-IOV que vous venez de configurer.oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'
Exemple de sortie
Succeeded
23.8.3.2. Configuration de sysctl sur un réseau SR-IOV lié
Vous pouvez définir des paramètres sysctl
spécifiques à l'interface sur une interface liée créée à partir de deux interfaces SR-IOV. Pour ce faire, ajoutez la configuration de réglage au paramètre facultatif Plugins
de la définition de l'attachement au réseau de liaison.
Ne modifiez pas les ressources personnalisées NetworkAttachmentDefinition
gérées par l'opérateur de réseau SR-IOV. Cela pourrait perturber le trafic sur votre réseau supplémentaire.
Pour modifier des paramètres réseau spécifiques au niveau de l'interface sysctl
, créez la ressource personnalisée (CR) SriovNetwork
avec le plugin de réglage Container Network Interface (CNI) en suivant la procédure suivante.
Conditions préalables
- Installez le CLI (oc) de OpenShift Container Platform.
- Connectez-vous au cluster OpenShift Container Platform en tant qu'utilisateur disposant des privilèges cluster-admin.
Procédure
Créez la ressource personnalisée (CR)
SriovNetwork
pour l'interface liée, comme dans l'exemple de CR suivant. Enregistrez le YAML dans le fichiersriov-network-attachment.yaml
.apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: allvalidflags 1 namespace: openshift-sriov-network-operator 2 spec: resourceName: policyallflags 3 networkNamespace: sysctl-tuning-test 4 capabilities: '{ "mac": true, "ips": true }' 5
- 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 : 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.
Créer la ressource
SriovNetwork
:$ oc create -f sriov-network-attachment.yaml
Créez une définition d'attachement au réseau de liens comme dans l'exemple suivant CR. Enregistrez le YAML dans le fichier
sriov-bond-network-interface.yaml
.apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: bond-sysctl-network namespace: sysctl-tuning-test spec: config: '{ "cniVersion":"0.4.0", "name":"bound-net", "plugins":[ { "type":"bond", 1 "mode": "active-backup", 2 "failOverMac": 1, 3 "linksInContainer": true, 4 "miimon": "100", "links": [ 5 {"name": "net1"}, {"name": "net2"} ], "ipam":{ 6 "type":"static" } }, { "type":"tuning", 7 "capabilities":{ "mac":true }, "sysctl":{ "net.ipv4.conf.IFNAME.accept_redirects": "0", "net.ipv4.conf.IFNAME.accept_source_route": "0", "net.ipv4.conf.IFNAME.disable_policy": "1", "net.ipv4.conf.IFNAME.secure_redirects": "0", "net.ipv4.conf.IFNAME.send_redirects": "0", "net.ipv6.conf.IFNAME.accept_redirects": "0", "net.ipv6.conf.IFNAME.accept_source_route": "1", "net.ipv6.neigh.IFNAME.base_reachable_time_ms": "20000", "net.ipv6.neigh.IFNAME.retrans_time_ms": "2000" } } ] }'
- 1
- Le type est
bond
. - 2
- L'attribut
mode
spécifie le mode de liaison. Les modes de liaison pris en charge sont les suivants :-
balance-rr
- 0 -
active-backup
- 1 balance-xor
- 2Pour les modes
balance-rr
oubalance-xor
, vous devez définir le modetrust
suron
pour la fonction virtuelle SR-IOV.
-
- 3
- L'attribut
failover
est obligatoire pour le mode de sauvegarde active. - 4
- Le drapeau
linksInContainer=true
informe le Bond CNI que les interfaces requises doivent être trouvées à l'intérieur du conteneur. Par défaut, Bond CNI recherche ces interfaces sur l'hôte, ce qui ne fonctionne pas pour l'intégration avec SRIOV et Multus. - 5
- La section
links
définit les interfaces qui seront utilisées pour créer le lien. Par défaut, Multus nomme les interfaces attachées comme suit : \N "net\N", plus un nombre consécutif, en commençant par un. - 6
- 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. Dans cet exemple de pod, les adresses IP sont configurées manuellement, donc dans ce cas,
ipam
est défini comme statique. - 7
- Ajoutez des capacités supplémentaires à l'appareil. Par exemple, définissez le champ
type
surtuning
. Spécifiez le réseau au niveau de l'interfacesysctl
que vous souhaitez définir dans le champ sysctl. Cet exemple définit tous les paramètres de réseau au niveau de l'interfacesysctl
qui peuvent être définis.
Créer la ressource de rattachement au réseau de liens :
$ oc create -f sriov-bond-network-interface.yaml
Vérification de la création de la CR NetworkAttachmentDefinition
Confirmez que l'opérateur du réseau SR-IOV a créé le CR
NetworkAttachmentDefinition
en exécutant la commande suivante :oc get network-attachment-definitions -n <namespace> 1
- 1
- Remplacez
<namespace>
par le networkNamespace que vous avez spécifié lors de la configuration de l'attachement au réseau, par exemple,sysctl-tuning-test
.
Exemple de sortie
NAME AGE bond-sysctl-network 22m allvalidflags 47m
NoteIl peut y avoir un délai avant que l'opérateur du réseau SR-IOV ne crée le CR.
Vérification du succès de la ressource réseau SR-IOV supplémentaire
Pour vérifier que le CNI d'accord est correctement configuré et que l'attachement réseau SR-IOV supplémentaire est attaché, procédez comme suit :
Créez un CR
Pod
. Par exemple, enregistrez le YAML suivant dans le fichierexamplepod.yaml
:apiVersion: v1 kind: Pod metadata: name: tunepod namespace: sysctl-tuning-test annotations: k8s.v1.cni.cncf.io/networks: |- [ {"name": "allvalidflags"}, 1 {"name": "allvalidflags"}, { "name": "bond-sysctl-network", "interface": "bond0", "mac": "0a:56:0a:83:04:0c", 2 "ips": ["10.100.100.200/24"] 3 } ] spec: containers: - name: podexample image: centos command: ["/bin/bash", "-c", "sleep INF"] securityContext: runAsUser: 2000 runAsGroup: 3000 allowPrivilegeEscalation: false capabilities: drop: ["ALL"] securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault
- 1
- Le nom du CR de définition de l'attachement au réseau SR-IOV.
- 2
- Facultatif : L'adresse MAC de l'appareil SR-IOV qui est allouée à partir du type de ressource défini dans la définition de l'attachement au réseau SR-IOV CR. Pour utiliser cette fonctionnalité, vous devez également spécifier
{ "mac": true }
dans l'objet SriovNetwork. - 3
- Facultatif : adresses IP pour le périphérique SR-IOV qui sont allouées à partir du type de ressource défini dans le CR de définition de l'attachement au réseau SR-IOV. Les adresses IPv4 et IPv6 sont prises en charge. Pour utiliser cette fonctionnalité, vous devez également spécifier
{ "ips": true }
dans l'objetSriovNetwork
.
Appliquer le YAML :
$ oc apply -f examplepod.yaml
Vérifiez que le module est créé en exécutant la commande suivante :
$ oc get pod -n sysctl-tuning-test
Exemple de sortie
NAME READY STATUS RESTARTS AGE tunepod 1/1 Running 0 47s
Connectez-vous au module en exécutant la commande suivante :
$ oc rsh -n sysctl-tuning-test tunepod
Vérifiez les valeurs de l'indicateur
sysctl
configuré. Trouvez la valeurnet.ipv6.neigh.IFNAME.base_reachable_time_ms
en exécutant la commande suivante: :$ sysctl net.ipv6.neigh.bond0.base_reachable_time_ms
Exemple de sortie
net.ipv6.neigh.bond0.base_reachable_time_ms = 20000