OpenShift: Jak zvětšit velikost vyrovnávací paměti síťového okruhu na pracovních uzlech pro řídicí rovinu

Summary: Tento článek popisuje postup zvýšení kruhových vyrovnávacích pamětí RX na rozhraních jednotlivých pracovních uzlů v clusteru HCP (Hosted Control Plane) platformy OpenShift Container Platform (OCP). ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Příprava

 V níže uvedených příkladech jsme identifikovali dvě rozhraní, která vyžadují úpravu vyrovnávacích pamětí RX. 

 

eno12399np0
ens1f1np1

Ověřili jsme platné hodnoty kruhových vyrovnávacích pamětí na síťových kartách pomocí příkazu ethtool -g . To lze provést z ladicího podu na uzlu nebo extrahovat ze sady SOS. 

 

# oc debug node/samplenode

# chroot /host

# ethtool -g eno12399np0
Ring parameters for eno12399np0:
Pre-set maximums:
RX:             8192
RX Mini:        n/a
RX Jumbo:       n/a
TX:             8192
Current hardware settings:
RX:             4096
RX Mini:        n/a
RX Jumbo:       n/a
TX:             1024
RX Buf Len:     n/a
CQE Size:       n/a
TX Push:        off
TCP data split: off

Rozhodli jsme se pro 4096 jako hodnotu pro nastavení kruhových vyrovnávacích pamětí. 

Operaci dokončíme následovně.

  1. Vytvoření Butane Soubory. 
  2. Převeďte tyto butanové soubory na YAML
  3. Vložte vygenerovaný YAML do a configmap Objekt. 
  4. Vytvořte configmaps
  5.  Upravte nodepool odkazovat na configmaps Vytvořen. 
  6. Počkejte na dokončení aktualizace konfigurace. 
  7. Ověřte, že aktualizace konfigurace byla dokončena a změny byly úspěšně implementovány.  

 

Připravte butanové pilníky.

Vytvořit dva Butane soubory, jeden pro každé rozhraní.

# eno12399np0.bu
variant: openshift
version: 4.18.0
metadata:
  name: 99-worker-ethtool-eno12399np0-buffer
  labels:
    machineconfiguration.openshift.io/role: worker
storage:
  files:
  - path: /etc/systemd/system/set-ethtool-eno12399np0-buffer.service
    mode: 0644
    overwrite: true
    contents:
      inline: |
        [Unit]
        Description=Set ethtool RX buffer size for network interface
        Requires=NetworkManager.service
        After=NetworkManager.service
        Before=ovs-configuration.service
        DefaultDependencies=no
        [Service]
        Type=oneshot
        ExecStart=/bin/bash -c "/sbin/ethtool -G eno12399np0 rx 4096 >> /var/log/user-data.log 2>&1"
        [Install]
        WantedBy=multi-user.target
systemd:
  units:
  - name: set-ethtool-eno12399np0-buffer.service
    enabled: true
# ens1f1np1.bu
variant: openshift
version: 4.18.0
metadata:
  name: 99-worker-ethtool-ens1f1np1-buffer
  labels:
    machineconfiguration.openshift.io/role: worker
storage:
  files:
  - path: /etc/systemd/system/set-ethtool-ens1f1np1-buffer.service
    mode: 0644
    overwrite: true
    contents:
      inline: |
        [Unit]
        Description=Set ethtool RX buffer size for network interface
        Requires=NetworkManager.service
        After=NetworkManager.service
        Before=ovs-configuration.service
        DefaultDependencies=no
        [Service]
        Type=oneshot
        ExecStart=/bin/bash -c "/sbin/ethtool -G ens1f1np1 rx 4096 >> /var/log/user-data.log 2>&1"
        [Install]
        WantedBy=multi-user.target
systemd:
  units:
  - name: set-ethtool-ens1f1np1-buffer.service
    enabled: true

Převést Butane souborů, které chcete MachineConfig YAML

Stáhněte si spustitelný soubor butanu a spusťte převod.

# Download butane (example)
$ curl -L -o butane https://mirror.openshift.com/pub/openshift-v4/clients/butane/butane-linux-amd64
$ chmod +x butane

# Convert
$ ./butane eno12399np0.bu -o eno12399np0.yaml
$ ./butane ens1f1np1.bu -o ens1f1np1.yaml

Vytvoření ConfigMap Objekty.

Zalomit každý vygenerovaný YAML v a ConfigMap S názvem mc-worker-ethtool- -buffer V dialogovém okně clusters Obor názvů.

# mc-worker-ethtool-eno12399np0-buffer.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: mc-worker-ethtool-eno12399np0-buffer
  namespace: clusters
data:
  config: |
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 99-worker-ethtool-eno12399np0-buffer
    spec:
      config:
        ignition:
          version: 3.4.0
        storage:
          files:
          - contents:
              compression: gzip
              source: data:;base64,[BASE64_CONTENT]
            mode: 420
            overwrite: true
            path: /etc/systemd/system/set-ethtool-eno12399np0-buffer.service
        systemd:
          units:
          - name: set-ethtool-eno12399np0-buffer.service
            enabled: true
# mc-worker-ethtool-ens1f1np1-buffer.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: mc-worker-ethtool-ens1f1np1-buffer
  namespace: clusters
data:
  config: |
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 99-worker-ethtool-ens1f1np1-buffer
    spec:
      config:
        ignition:
          version: 3.4.0
        storage:
          files:
          - contents:
              compression: gzip
              source: data:;base64,[BASE64_CONTENT]
            mode: 420
            overwrite: true
            path: /etc/systemd/system/set-ethtool-ens1f1np1-buffer.service
        systemd:
          units:
          - name: set-ethtool-ens1f1np1-buffer.service
            enabled: true

Apply ConfigMaps do clusteru.

$ oc apply -f mc-worker-ethtool-eno12399np0-buffer.yaml
$ oc apply -f mc-worker-ethtool-ens1f1np1-buffer.yaml

Připojení ConfigMaps do fondu uzlů.

Upravte fond uzlů a přidejte ConfigMap Názvy pod položkou spec.config 

$ oc edit nodepool [NODEPOOL_NAME] -n clusters

Vložte následující řádky do spec Oddíl:

spec:
  config:
  - name: mc-worker-ethtool-eno12399np0-buffer
  - name: mc-worker-ethtool-ens1f1np1-buffer

Ověření node‑pool Aktualizace.

$ oc get nodepool -n clusters

Potvrďte, že UPDATINGCONFIG zobrazuje True a že verze odpovídá verzi clusteru.

Zkontrolujte stav služby na každém pracovním uzlu.

for i in $(oc get nodes -l node-role.kubernetes.io/worker= --no-headers | awk '{print $1}'); do
  oc debug node/$i -- chroot /host systemctl status set-ethtool-eno12399np0-buffer.service;
done
for i in $(oc get nodes -l node-role.kubernetes.io/worker= --no-headers | awk '{print $1}'); do
  oc debug node/$i -- chroot /host systemctl status set-ethtool-ens1f1np1-buffer.service;
done

Potvrzení nastavení kruhové vyrovnávací paměti

for i in $(oc get nodes -l node-role.kubernetes.io/worker= --no-headers | awk '{print $1}'); do
  oc debug node/$i -- chroot /host ethtool -g eno12399np0;
done
for i in $(oc get nodes -l node-role.kubernetes.io/worker= --no-headers | awk '{print $1}'); do
  oc debug node/$i -- chroot /host ethtool -g ens1f1np1;
done

Affected Products

APEX, APEX Cloud Platform for Red Hat OpenShift
Article Properties
Article Number: 000428878
Article Type: How To
Last Modified: 17 Feb 2026
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.