Do not set CPU resources to ovs-vswitch DPDK pod

When DPDK is enbaled, configuring CPU resource limits
through Kubernetes affects packet throughput adversely.
DPDK PMD cores could not get 100% busy.

They need to be configured by isolating them in host grub
and later through PMD core mask.

Change-Id: Ia80880302b9c5c02fdb1c00cb62f6640860e898e
This commit is contained in:
Reddy, Hemachandra (hr858f) 2020-01-20 19:05:05 +00:00
parent 6898fa7f9e
commit 70d93625e8

View File

@ -94,15 +94,15 @@ spec:
{{/* Run the container in priviledged mode due to the need for root {{/* Run the container in priviledged mode due to the need for root
permissions when using the uio_pci_generic driver. */}} permissions when using the uio_pci_generic driver. */}}
{{- $_ := set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd "privileged" true -}} {{- $_ := set $envAll.Values.pod.security_context.openvswitch_vswitchd.container.vswitchd "privileged" true -}}
{{/* Limiting CPU cores would severely affect packet throughput
It should be handled through lcore and pmd core masks. */}}
{{- if .Values.pod.resources.enabled }}
{{ $_ := unset $envAll.Values.pod.resources.ovs.vswitchd.requests "cpu" }}
{{ $_ := unset $envAll.Values.pod.resources.ovs.vswitchd.limits "cpu" }}
{{- end }}
{{- end }} {{- end }}
{{ tuple $envAll "openvswitch_vswitchd" | include "helm-toolkit.snippets.image" | indent 10 }} {{ tuple $envAll "openvswitch_vswitchd" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ dict "envAll" $envAll "application" "openvswitch_vswitchd" "container" "vswitchd" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }} {{ dict "envAll" $envAll "application" "openvswitch_vswitchd" "container" "vswitchd" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
{{- if .Values.conf.ovs_dpdk.enabled }}
{{/* When running with DPDK, we need to specify the type and amount of hugepages.
The following line enables resource handling in general, but the type and amount
of hugepages must still be defined in the values.yaml.*/}}
{{ $_ := set $envAll.Values.pod.resources "enabled" true }}
{{- end }}
{{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }} {{ tuple $envAll $envAll.Values.pod.resources.ovs.vswitchd | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
# ensures this container can speak to the ovs database # ensures this container can speak to the ovs database
# successfully before its marked as ready # successfully before its marked as ready