From 1010fe51cd995bfe7f90f0ce5e52abd8a5134a2f Mon Sep 17 00:00:00 2001 From: mamoutou-diarra Date: Sun, 2 Aug 2026 09:45:32 +0000 Subject: [PATCH 1/5] set cpu manager to static for cpu pinning --- ansible/inventory.yaml | 4 ++-- ansible/playbooks/tasks/system_tuning.yaml | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ansible/inventory.yaml b/ansible/inventory.yaml index 71c5759..1dfa0c8 100644 --- a/ansible/inventory.yaml +++ b/ansible/inventory.yaml @@ -31,8 +31,8 @@ k3s_cluster: api_endpoint: "{{ hostvars[groups['server'][0]]['ansible_host'] | default(groups['server'][0]) }}" # Optional vars - extra_server_args: "--flannel-backend=none --disable-network-policy --write-kubeconfig-mode 644 --kubelet-arg=max-pods=1000 --kubelet-arg=resolv-conf=/etc/rancher/resolv.conf" - extra_agent_args: "--kubelet-arg=max-pods=1000 --kubelet-arg=resolv-conf=/etc/rancher/resolv.conf" + extra_server_args: "--flannel-backend=none --disable-network-policy --write-kubeconfig-mode 644 --kubelet-arg=max-pods=1000 --kubelet-arg=resolv-conf=/etc/rancher/resolv.conf --kubelet-arg=config=/etc/rancher/kubelet-config.yaml" + extra_agent_args: "--kubelet-arg=max-pods=1000 --kubelet-arg=resolv-conf=/etc/rancher/resolv.conf --kubelet-arg=config=/etc/rancher/kubelet-config.yaml" # extra_install_envs: { 'INSTALL_K3S_SKIP_SELINUX_RPM': 'true' } # cluster_context: vaclab # api_port: 6443 diff --git a/ansible/playbooks/tasks/system_tuning.yaml b/ansible/playbooks/tasks/system_tuning.yaml index 26bcaf7..5ca2c78 100644 --- a/ansible/playbooks/tasks/system_tuning.yaml +++ b/ansible/playbooks/tasks/system_tuning.yaml @@ -65,6 +65,20 @@ nameserver 1.1.1.1 nameserver 185.12.64.2 +- name: Create kubelet config for static cpuManager and custom resolv.conf + ansible.builtin.copy: + dest: /etc/rancher/kubelet-config.yaml + mode: '0644' + content: | + kind: KubeletConfiguration + apiVersion: kubelet.config.k8s.io/v1beta1 + cpuManagerPolicy: static + cpuManagerReconcilePeriod: 10s + kubeReserved: + cpu: "1" + systemReserved: + cpu: "1" + - name: Configure user limits for file descriptors ansible.builtin.copy: dest: /etc/security/limits.d/99-vaclab-limits.conf From d8de67cab4cee46a15330dfb941f0e0cb82c3893 Mon Sep 17 00:00:00 2001 From: mamoutou-diarra Date: Sun, 2 Aug 2026 11:32:54 +0000 Subject: [PATCH 2/5] update dst_dashboard backend to avoid boxplot crossing yAxis --- ansible/playbooks/tasks/system_tuning.yaml | 2 ++ fleet/dst-dashboard/backend/backend.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ansible/playbooks/tasks/system_tuning.yaml b/ansible/playbooks/tasks/system_tuning.yaml index 5ca2c78..e8b2bdf 100644 --- a/ansible/playbooks/tasks/system_tuning.yaml +++ b/ansible/playbooks/tasks/system_tuning.yaml @@ -73,6 +73,8 @@ kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 cpuManagerPolicy: static + cpuManagerPolicyOptions: + full-pcpus-only: "true" cpuManagerReconcilePeriod: 10s kubeReserved: cpu: "1" diff --git a/fleet/dst-dashboard/backend/backend.yaml b/fleet/dst-dashboard/backend/backend.yaml index d7df410..fb8733d 100644 --- a/fleet/dst-dashboard/backend/backend.yaml +++ b/fleet/dst-dashboard/backend/backend.yaml @@ -30,7 +30,7 @@ spec: effect: "PreferNoSchedule" containers: - name: dst-dashboard-backend - image: mamoutoudiarra/dst-dashboard-backend:v1.1 + image: mamoutoudiarra/dst-dashboard-backend:v1.2 imagePullPolicy: IfNotPresent ports: - containerPort: 8000 From 6d77e51f87025c45c730b7073ab51afcf37de5e9 Mon Sep 17 00:00:00 2001 From: mamoutou-diarra Date: Sun, 2 Aug 2026 12:44:41 +0000 Subject: [PATCH 3/5] do only virtual core pinning, not physical core pinning --- ansible/playbooks/tasks/system_tuning.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/ansible/playbooks/tasks/system_tuning.yaml b/ansible/playbooks/tasks/system_tuning.yaml index e8b2bdf..5ca2c78 100644 --- a/ansible/playbooks/tasks/system_tuning.yaml +++ b/ansible/playbooks/tasks/system_tuning.yaml @@ -73,8 +73,6 @@ kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 cpuManagerPolicy: static - cpuManagerPolicyOptions: - full-pcpus-only: "true" cpuManagerReconcilePeriod: 10s kubeReserved: cpu: "1" From 48d91e1b113f6e9aae4b55d0c9d58ea2db4a7a8c Mon Sep 17 00:00:00 2001 From: mamoutou-diarra Date: Sun, 2 Aug 2026 12:53:59 +0000 Subject: [PATCH 4/5] remove custom resolve naming --- ansible/playbooks/tasks/system_tuning.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/playbooks/tasks/system_tuning.yaml b/ansible/playbooks/tasks/system_tuning.yaml index 5ca2c78..9194cb3 100644 --- a/ansible/playbooks/tasks/system_tuning.yaml +++ b/ansible/playbooks/tasks/system_tuning.yaml @@ -65,7 +65,7 @@ nameserver 1.1.1.1 nameserver 185.12.64.2 -- name: Create kubelet config for static cpuManager and custom resolv.conf +- name: Create kubelet config for static cpuManager ansible.builtin.copy: dest: /etc/rancher/kubelet-config.yaml mode: '0644' From 9599d3507a8bb25535266eebdff9fbe9a1feceb9 Mon Sep 17 00:00:00 2001 From: mamoutou-diarra Date: Sun, 2 Aug 2026 21:51:50 +0000 Subject: [PATCH 5/5] set dst_dashboard backend to v1.3 to include vaclab resources --- fleet/dst-dashboard/backend/backend.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fleet/dst-dashboard/backend/backend.yaml b/fleet/dst-dashboard/backend/backend.yaml index fb8733d..3b34778 100644 --- a/fleet/dst-dashboard/backend/backend.yaml +++ b/fleet/dst-dashboard/backend/backend.yaml @@ -30,7 +30,7 @@ spec: effect: "PreferNoSchedule" containers: - name: dst-dashboard-backend - image: mamoutoudiarra/dst-dashboard-backend:v1.2 + image: mamoutoudiarra/dst-dashboard-backend:v1.3 imagePullPolicy: IfNotPresent ports: - containerPort: 8000