From e223eb93b5e27210208354d549e056386d4cca8f Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Mon, 12 Jun 2017 15:22:04 -0700 Subject: [PATCH] make all static system pods critical --- .../etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml | 2 ++ cluster/saltbase/salt/etcd/etcd.manifest | 5 ++++- cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml | 2 ++ .../saltbase/salt/kube-apiserver/kube-apiserver.manifest | 3 +++ .../kube-controller-manager.manifest | 3 +++ .../saltbase/salt/kube-scheduler/kube-scheduler.manifest | 3 +++ cluster/saltbase/salt/l7-gcp/glbc.manifest | 2 ++ cluster/saltbase/salt/rescheduler/rescheduler.manifest | 2 ++ cmd/kubeadm/app/master/BUILD | 1 + cmd/kubeadm/app/master/manifests.go | 8 +++++--- 10 files changed, 27 insertions(+), 4 deletions(-) diff --git a/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml b/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml index 9b7fdf1e172..cf7e5b5f515 100644 --- a/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml +++ b/cluster/addons/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml @@ -3,6 +3,8 @@ kind: Pod metadata: name: etcd-empty-dir-cleanup namespace: kube-system + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' labels: k8s-app: etcd-empty-dir-cleanup spec: diff --git a/cluster/saltbase/salt/etcd/etcd.manifest b/cluster/saltbase/salt/etcd/etcd.manifest index b0eee99cafc..1f1be4ffe8c 100644 --- a/cluster/saltbase/salt/etcd/etcd.manifest +++ b/cluster/saltbase/salt/etcd/etcd.manifest @@ -29,7 +29,10 @@ "kind": "Pod", "metadata": { "name":"etcd-server{{ suffix }}", - "namespace": "kube-system" + "namespace": "kube-system", + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "" + } }, "spec":{ "hostNetwork": true, diff --git a/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml b/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml index da177f6b5ea..eb861e90688 100644 --- a/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml +++ b/cluster/saltbase/salt/kube-addons/kube-addon-manager.yaml @@ -3,6 +3,8 @@ kind: Pod metadata: name: kube-addon-manager namespace: kube-system + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' labels: component: kube-addon-manager spec: diff --git a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest index 5ac6d5fcd42..4f6ad7bdfd6 100644 --- a/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest +++ b/cluster/saltbase/salt/kube-apiserver/kube-apiserver.manifest @@ -212,6 +212,9 @@ "metadata": { "name":"kube-apiserver", "namespace": "kube-system", + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "" + }, "labels": { "tier": "control-plane", "component": "kube-apiserver" diff --git a/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest b/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest index acd820cfa0c..9911d09b8d3 100644 --- a/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest +++ b/cluster/saltbase/salt/kube-controller-manager/kube-controller-manager.manifest @@ -94,6 +94,9 @@ "metadata": { "name":"kube-controller-manager", "namespace": "kube-system", + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "" + }, "labels": { "tier": "control-plane", "component": "kube-controller-manager" diff --git a/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest b/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest index 4176f8f79f0..53c2e34e00b 100644 --- a/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest +++ b/cluster/saltbase/salt/kube-scheduler/kube-scheduler.manifest @@ -29,6 +29,9 @@ "metadata": { "name":"kube-scheduler", "namespace": "kube-system", + "annotations": { + "scheduler.alpha.kubernetes.io/critical-pod": "" + }, "labels": { "tier": "control-plane", "component": "kube-scheduler" diff --git a/cluster/saltbase/salt/l7-gcp/glbc.manifest b/cluster/saltbase/salt/l7-gcp/glbc.manifest index b8a1f1a0705..46032f84436 100644 --- a/cluster/saltbase/salt/l7-gcp/glbc.manifest +++ b/cluster/saltbase/salt/l7-gcp/glbc.manifest @@ -3,6 +3,8 @@ kind: Pod metadata: name: l7-lb-controller-v0.9.3 namespace: kube-system + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' labels: k8s-app: glbc version: v0.9.3 diff --git a/cluster/saltbase/salt/rescheduler/rescheduler.manifest b/cluster/saltbase/salt/rescheduler/rescheduler.manifest index 81974dec60f..d647a7be973 100644 --- a/cluster/saltbase/salt/rescheduler/rescheduler.manifest +++ b/cluster/saltbase/salt/rescheduler/rescheduler.manifest @@ -3,6 +3,8 @@ kind: Pod metadata: name: rescheduler-v0.3.0 namespace: kube-system + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' labels: k8s-app: rescheduler version: v0.3.0 diff --git a/cmd/kubeadm/app/master/BUILD b/cmd/kubeadm/app/master/BUILD index 83ef4e34000..d06f7b4943a 100644 --- a/cmd/kubeadm/app/master/BUILD +++ b/cmd/kubeadm/app/master/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/bootstrap/api:go_default_library", "//pkg/kubeapiserver/authorizer/modes:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", + "//pkg/kubelet/types:go_default_library", "//pkg/util/version:go_default_library", "//vendor/github.com/ghodss/yaml:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", diff --git a/cmd/kubeadm/app/master/manifests.go b/cmd/kubeadm/app/master/manifests.go index 912129b3a81..efabdd6527c 100644 --- a/cmd/kubeadm/app/master/manifests.go +++ b/cmd/kubeadm/app/master/manifests.go @@ -37,6 +37,7 @@ import ( bootstrapapi "k8s.io/kubernetes/pkg/bootstrap/api" authzmodes "k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" + kubetypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/util/version" ) @@ -300,9 +301,10 @@ func componentPod(container api.Container, volumes ...api.Volume) api.Pod { Kind: "Pod", }, ObjectMeta: metav1.ObjectMeta{ - Name: container.Name, - Namespace: "kube-system", - Labels: map[string]string{"component": container.Name, "tier": "control-plane"}, + Name: container.Name, + Namespace: "kube-system", + Annotations: map[string]string{kubetypes.CriticalPodAnnotationKey: ""}, + Labels: map[string]string{"component": container.Name, "tier": "control-plane"}, }, Spec: api.PodSpec{ Containers: []api.Container{container},