OpenShift: Denetim Düzlemi için Çalışan düğümlerinde ağ halkası arabelleği boyutunu artırma
Summary: Bu makalede, OpenShift Kapsayıcı Platformu (OCP) Barındırılan Denetim Düzlemi (HCP) kümesindeki her çalışan düğümünün arabirimlerinde RX halka arabelleklerini artırma prosedürü özetlenmektedir. ...
Instructions
Hazırlık
Aşağıdaki örneklerde, RX arabelleklerinin değiştirilmesi gereken iki arayüz belirledik.
eno12399np0 ens1f1np1
NIC'ler üzerindeki halka arabellekleri için geçerli değerleri kullanarak doğruladık. ethtool -g yaparsınız. Bu, düğümdeki bir hata ayıklama bölmesinden yapılabilir veya bir SOS paketinden çıkarılabilir.
# 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
Halka arabelleklerini ayarlayacak değer için 4096'da karar kıldık.
İşlemi tamamlamak için aşağıdaki adımları gerçekleştireceğiz.
- Oluşturma
ButaneDosyaları. - Bu Butane dosyalarını
YAML. - Oluşturulanı
YAMLiçineconfigmapNesne. - Oluşturun
configmaps. - Şunu düzenleyin:
nodepoolBaşvurulacak nesneconfigmapsOluşturulan. - Yapılandırma güncellemesinin tamamlanmasını bekleyin.
- Yapılandırma güncellemesinin tamamlandığını ve değişikliklerin başarıyla uygulandığını doğrulayın.
Bütane dosyalarını hazırlayın.
İki tane oluştur Butane dosyalar, her arayüz için bir tane.
# 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
Dönüştürmek Butane Dosyaları MachineConfig YAML
Bütane yürütülebilir dosyasını indirin ve dönüştürmeyi çalıştırın.
# 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
Oluşturma ConfigMap Nesne.
Oluşturulan her sarma YAML içinde ConfigMap Adlı mc-worker-ethtool- -buffer İçinde clusters Ad alanı.
# 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
Uygula ConfigMaps kümeye.
$ oc apply -f mc-worker-ethtool-eno12399np0-buffer.yaml $ oc apply -f mc-worker-ethtool-ens1f1np1-buffer.yaml
Ekleme ConfigMaps düğüm havuzuna.
Düğüm havuzunu düzenleyin ve ConfigMap altındaki adlar spec.config
$ oc edit nodepool [NODEPOOL_NAME] -n clusters
Aşağıdaki satırları spec Bölüm:
spec: config: - name: mc-worker-ethtool-eno12399np0-buffer - name: mc-worker-ethtool-ens1f1np1-buffer
Doğrulama node‑pool Güncelleştirme.
$ oc get nodepool -n clusters
Şunları onaylayın: UPDATINGCONFIG Gösterir True sürümün küme sürümüyle eşleştiğinden emin olmalıdır.
Her çalışan düğümünde hizmet durumunu denetleyin.
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
Zil arabelleği ayarlarını doğrulama
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