OpenShift: コントロール プレーンのワーカー ノードでネットワーク リング バッファー サイズを増やす方法
Summary: この記事では、OpenShift Container Platform (OCP) Hosted Control Plane (HCP) クラスター内の各ワーカーノードのインターフェイスで RX リングバッファーを増やす手順について説明します。
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
準備
以下の例では、RX バッファーの変更が必要な 2 つのインターフェイスを特定しています。
eno12399np0 ens1f1np1
NIC上のリング バッファーの有効な値を確認しました。 ethtool -g に指定します。これは、ノード上のデバッグポッドから実行することも、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
リングバッファを設定する値は4096に決めました。
操作を完了するには、次の手順を実行します。
- 作成
Butaneファイル。 - これらのブタンファイルを次のように変換します
YAMLの詳細を確認してください。 - 生成された
YAMLをconfigmapオブジェクト。 - を作成します。
configmapsの詳細を確認してください。 - 編集
nodepoolオブジェクトをconfigmaps作成。 - 構成のアップデートが完了するまで待ちます。
- 構成のアップデートが完了し、変更が正常に実装されたことを確認します。
ブタンファイルを準備します。
2つ作成 Butane ファイル、インターフェイスごとに 1 つ。
# 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
変換 Butane ファイルを MachineConfig YAML
Butane実行可能ファイルをダウンロードして、変換を実行します。
# 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
作成 ConfigMap オブジェクト。
生成された各 YAML で ConfigMap 名前 付き mc-worker-ethtool- -buffer の clusters 名前 空間。
# 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 をクラスターに追加します。
$ oc apply -f mc-worker-ethtool-eno12399np0-buffer.yaml $ oc apply -f mc-worker-ethtool-ens1f1np1-buffer.yaml
「attach」 ConfigMaps をノード プールに追加します。
ノード プールを編集し、 ConfigMap 名前 spec.config
$ oc edit nodepool [NODEPOOL_NAME] -n clusters
次の行を spec セクション:
spec: config: - name: mc-worker-ethtool-eno12399np0-buffer - name: mc-worker-ethtool-ens1f1np1-buffer
検証 node‑pool 更新。
$ oc get nodepool -n clusters
次のことを確認します。 UPDATINGCONFIG が True また、バージョンがクラスターのバージョンと一致していることも確認できます。
各ワーカー ノードのサービス ステータスを確認します。
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
リングバッファ設定の検証
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 OpenShiftArticle Properties
Article Number: 000428878
Article Type: How To
Last Modified: 17 فبراير 2026
Version: 1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.