Allow configuration of isolcpus

Allow a mixture of floating and pinned workloads by allowing the
application cpu's to be split between isolated and non-isolated

Update the kubelet cpu manager options based on the k8s_isol_cpus
parameter

Depends-On: https://review.opendev.org/682693
Change-Id: Ibc4cbbe83962bf0b0e4f9297db0cef1e75db5b74
Story: 2006565
Task: 36664
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
This commit is contained in:
David Sullivan 2019-09-17 12:36:43 -04:00
parent 5255c6f179
commit 748b10d833

View File

@ -17,6 +17,7 @@ class platform::kubernetes::params (
$k8s_nodeset = undef,
$k8s_reserved_cpus = undef,
$k8s_reserved_mem = undef,
$k8s_isol_cpus = undef,
$apiserver_cert_san = []
) { }
@ -105,6 +106,7 @@ class platform::kubernetes::kubeadm {
$host_labels = $::platform::kubernetes::params::host_labels
$k8s_reserved_cpus = $::platform::kubernetes::params::k8s_reserved_cpus
$k8s_reserved_mem = $::platform::kubernetes::params::k8s_reserved_mem
$k8s_isol_cpus = $::platform::kubernetes::params::k8s_isol_cpus
$iptables_file = "net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1"
@ -119,7 +121,10 @@ class platform::kubernetes::kubeadm {
join([
'--system-reserved=',
"cpu=${k8s_reserved_cpus},",
"memory=${k8s_reserved_mem}Mi"])
"memory=${k8s_reserved_mem}Mi"]),
join([
        '--kube-reserved=',
        "cpu=${k8s_isol_cpus}"])
], ' ')
} else {
$k8s_cpu_manager_opts = '--cpu-manager-policy=none'