kubevirt限制vm发布主机

参考:

https://kubevirt.io/user-guide/#/usage/node-placement?id=taints-and-tolerations

https://docs.openshift.com/container-platform/3.11/admin_guide/scheduling/taints_tolerations.html#admin-guide-taints-add

设置主机污点及label

oc adm taint nodes node52.hisun.com vm=true:NoExecute
oc label node node52.hisun.com vm=true

设置kubevirt 相关插件及vm发布主机

for item in kube-cni-plugins-amd64 kube-multus-amd64 kube-ovs-cni-amd64 kube-sriov-cni-amd64 kube-sriov-device-plugin-amd64
do
	kubectl patch ds/$item -n kube-system -p '{"spec":{"template":{"spec":{"nodeSelector":{"vm":"true"},"tolerations":[{"key":"vm","operator":"Equal","value":"true","effect":"NoExecute"}]}}}}'
done

kubectl patch ds/virt-handler -n kubevirt -p '{"spec":{"template":{"spec":{"nodeSelector":{"vm":"true"},"tolerations":[{"key":"vm","operator":"Equal","value":"true","effect":"NoExecute"}]}}}}'

发布容忍污点的vm

亲和性相关配置

...
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: vm
                operator: In
                values:
                - 'true'
...

容忍相关主机配置

完整yaml

Last updated