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 :

  1. 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.
  2. Examinez le CR SriovNetworkNodeState pour chaque nœud. La strophe interfaces 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 avec feature.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"
    Note

    Vous 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.

Note

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

  1. Créez une ressource personnalisée (CR) SriovNetworkNodePolicy. Par exemple, enregistrez le YAML suivant dans le fichier policyoneflag-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 et 99. Plus la valeur est petite, plus la priorité est élevée. Par exemple, une priorité de 10 est plus élevée que celle de 99. La valeur par défaut est 99.
    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 pour vendor, deviceID ou pfNames. Si vous spécifiez pfNames et rootDevices en même temps, assurez-vous qu'ils se réfèrent au même dispositif. Si vous spécifiez une valeur pour netFilter, 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éfinissez isRdma sur true.
    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ètre isRdma est défini sur true, 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éfinissez isRdma sur true et needVhostNet sur true pour configurer une carte d'interface réseau Mellanox à utiliser avec les applications Fast Datapath DPDK.
    Note

    Le type de pilote vfio-pci n'est pas pris en charge.

  2. 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'état Running.

  3. 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.

Note

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

  1. Créez la ressource personnalisée (CR) SriovNetwork pour l'attachement supplémentaire au réseau SR-IOV et insérez la configuration metaPlugins, comme dans l'exemple de CR suivant. Enregistrez le YAML dans le fichier sriov-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'objet SriovNetworkNodePolicy 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 sur tuning. Spécifiez le réseau au niveau de l'interface sysctl que vous souhaitez définir dans le champ sysctl.
  2. 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 de networkNamespace que vous avez spécifiée dans l'objet SriovNetwork. Par exemple, sysctl-tuning-test.

    Exemple de sortie

    NAME                                  AGE
    onevalidflag                          14m

    Note

    Il 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 :

  1. Créez un CR Pod. Enregistrez le YAML suivant dans le fichier examplepod.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'objet SriovNetwork.
  2. Créer le CR Pod:

    $ oc apply -f examplepod.yaml
  3. 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

  4. Connectez-vous au module en exécutant la commande suivante :

    $ oc rsh -n sysctl-tuning-test tunepod
  5. 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.

Note

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

  1. Créez une ressource personnalisée (CR) SriovNetworkNodePolicy. Enregistrez le YAML suivant dans le fichier policyallflags-sriov-node-network.yaml. Remplacez policyallflags 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 et 99. Plus la valeur est petite, plus la priorité est élevée. Par exemple, une priorité de 10 est plus élevée que celle de 99. La valeur par défaut est 99.
    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 pour vendor, deviceID ou pfNames. Si vous spécifiez pfNames et rootDevices en même temps, assurez-vous qu'ils se réfèrent au même dispositif. Si vous spécifiez une valeur pour netFilter, 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éfinissez isRdma sur true.
    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ètre isRdma est défini sur true, 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éfinissez isRdma sur true et needVhostNet sur true pour configurer une carte d'interface réseau Mellanox à utiliser avec les applications Fast Datapath DPDK.
    Note

    Le type de pilote vfio-pci n'est pas pris en charge.

  2. 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.

  3. 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.

Note

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

  1. 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 fichier sriov-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'objet SriovNetworkNodePolicy 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.
  2. Créer la ressource SriovNetwork:

    $ oc create -f sriov-network-attachment.yaml
  3. 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 - 2

      Pour les modes balance-rr ou balance-xor, vous devez définir le mode trust sur on 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 sur tuning. Spécifiez le réseau au niveau de l'interface sysctl que vous souhaitez définir dans le champ sysctl. Cet exemple définit tous les paramètres de réseau au niveau de l'interface sysctl qui peuvent être définis.
  4. 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

    Note

    Il 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 :

  1. Créez un CR Pod. Par exemple, enregistrez le YAML suivant dans le fichier examplepod.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'objet SriovNetwork.
  2. Appliquer le YAML :

    $ oc apply -f examplepod.yaml
  3. 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

  4. Connectez-vous au module en exécutant la commande suivante :

    $ oc rsh -n sysctl-tuning-test tunepod
  5. Vérifiez les valeurs de l'indicateur sysctl configuré. Trouvez la valeur net.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

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.