DevStack: Disable leader election for K8s services

The DevStack plugin is really designed just for gate testing and
developer usage. In both use cases normally we won't run K8s services on
multiple nodes. Because of that this commit disables leader election for
kube-scheduler and kube-controller-manager. The motivation behind this
is that on the OpenInfra gate VMs we often see degraded storage
performance that affects etcd. If that happens during leader-election of
a service, it'll crash, leaving us with broken and unrecoverable K8s.
This should eliminate the issue.

Change-Id: Ib84ed289c9aaf3ae27af1c7ffa8aab2f8ba48671
(cherry picked from commit acfe749574)
This commit is contained in:
Michał Dulko 2020-08-26 12:15:11 +02:00
parent c5053f1920
commit 6583196046
1 changed files with 4 additions and 2 deletions

View File

@ -663,7 +663,8 @@ function run_k8s_controller_manager {
--root-ca-file=/srv/kubernetes/ca.crt
--min-resync-period=3m
--v=$(get_k8s_log_level)
--logtostderr=true)
--logtostderr=true
--leader-elect=false)
run_container kubernetes-controller-manager "${command[@]}"
}
@ -683,7 +684,8 @@ function run_k8s_scheduler {
/hyperkube scheduler
--master=$KURYR_K8S_API_URL
--v=$(get_k8s_log_level)
--logtostderr=true)
--logtostderr=true
--leader-elect=false)
run_container kubernetes-scheduler "${command[@]}"
}