kubevirt for able to run CX or RT type of instances. - #757
Conversation
WalkthroughThe change introduces a new feature gate, Changes
Sequence Diagram(s)sequenceDiagram
participant Loader as ConfigLoader
participant Spec as KubeVirtSpec
participant VM as VMManager
Loader->>Spec: Load developerConfiguration
Spec-->>Loader: Return configuration (includes CPUManager flag)
Spec->>VM: Pass CPUManager configuration for CPU resource management
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
Thank you, did you tested this with Talos Linux. There were some issues, but it seems they are fixed now. Also, could you fix DCO by signing your commit with |
de25374 to
80f157b
Compare
Signed-off-by: Pavlo Gaponuk <pashagaponuk@gmail.com>
80f157b to
7a1c3b6
Compare
I tested this with Talos, with this configuration, and signed off on the commit. machine:
kubelet:
extraArgs:
cpu-manager-policy: static
cpu-manager-reconcile-period: 5s
kube-reserved: "cpu=2,memory=2Gi"
system-reserved: "cpu=1,memory=1Gi"
feature-gates: "CPUManager=true"
extraConfig:
maxPods: 512
cpuManagerPolicy: "static"
cpuManagerReconcilePeriod: 5s
featureGates:
CPUManager: true
nodeIP:
validSubnets:
- 10.11.10.0/24
- 10.11.11.0/24
kernel:
modules:
- name: openvswitch
- name: drbd
parameters:
- usermode_helper=disabled
- name: zfs
- name: spl
install:
image: ghcr.io/cozystack/cozystack/talos:v1.9.5
extraKernelArgs:
- cpufreq.default_governor=performance
- amd_pstate=active
- hugepagesz=1G
- hugepages=288
files:
- content: |
[plugins]
[plugins."io.containerd.grpc.v1.cri"]
device_ownership_from_security_context = true
[plugins."io.containerd.cri.v1.runtime"]
device_ownership_from_security_context = true
path: /etc/cri/conf.d/20-customization.part
op: create
sysctls:
kernel.sched_rt_runtime_us: -1
kernel.sched_rt_period_us: 1000000
vm.nr_hugepages: 2048
cluster:
network:
cni:
name: none
dnsDomain: cozy.local
podSubnets:
- 10.244.0.0/16
serviceSubnets:
- 10.96.0.0/16
apiServer:
extraArgs:
oidc-issuer-url: "https://keycloak.my.localcloud.com/realms/cozy"
oidc-client-id: "kubernetes"
oidc-username-claim: "preferred_username"
oidc-groups-claim: "groups" |
Andrei Kvapil (kvaps)
left a comment
There was a problem hiding this comment.
Thank you for your config, we should consider including these options by default:
machine:
kubelet:
extraArgs:
cpu-manager-policy: static
cpu-manager-reconcile-period: 5s
kube-reserved: "cpu=2,memory=2Gi"
system-reserved: "cpu=1,memory=1Gi"
feature-gates: "CPUManager=true"
extraConfig:
cpuManagerPolicy: "static"
cpuManagerReconcilePeriod: 5s
featureGates:
CPUManager: true
Without this, kubevirt does not recognize that cpu-manager is being used on the node and does not change the label "cpumanager=false" on nodes, which prevents the starting of instances with types CX or RT.
Summary by CodeRabbit