Skip to content

Commit fac5f25

Browse files
committed
fix(deisctl/units): stop k8s services without errors
The various kube-* binaries all exit with a return code of 2 on CTRL+C / SIGQUIT|TERM|KILL. This changes considers 2 to be a successful k8s service exit, to avoid systemd failures on `deisctl stop k8s`.
1 parent 313ab04 commit fac5f25

5 files changed

Lines changed: 13 additions & 1 deletion

File tree

deisctl/units/deis-kube-apiserver.service

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Description=Kubernetes API Server
33
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
44
Requires=fleet.service docker.service flanneld.service
55
After=fleet.service docker.service flanneld.service
6+
67
[Service]
78
EnvironmentFile=/etc/environment
89
ExecStartPre=-/bin/sh -c "etcdctl get /deis/scheduler/k8s/master >/dev/null 2>&1 || etcdctl mk /deis/scheduler/k8s/master"
@@ -26,5 +27,7 @@ ExecStart=/bin/bash -c "/opt/bin/kube-apiserver \
2627
ExecStartPost=/bin/bash -c "fleetctl stop deis-kube-scheduler deis-kube-controller-manager deis-kube-kubelet deis-kube-proxy; sleep 2; fleetctl start deis-kube-scheduler deis-kube-controller-manager deis-kube-kubelet deis-kube-proxy"
2728
Restart=always
2829
RestartSec=10
30+
SuccessExitStatus=2
31+
2932
[Install]
3033
WantedBy=multi-user.target

deisctl/units/deis-kube-controller-manager.service

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Description=Kubernetes Controller Manager
33
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
44
Requires=deis-kube-apiserver.service
55
After=deis-kube-apiserver.service
6+
67
[Service]
78
EnvironmentFile=/etc/environment
89
ExecStartPre=/bin/bash -c "/opt/bin/download-k8s-binary kube-controller-manager"
@@ -14,6 +15,7 @@ ExecStart=/opt/bin/kube-controller-manager \
1415
--logtostderr=true
1516
Restart=always
1617
RestartSec=10
18+
SuccessExitStatus=2
1719

1820
[X-Fleet]
1921
MachineOf=deis-kube-apiserver.service

deisctl/units/deis-kube-kubelet.service

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[Unit]
22
Description=Kubernetes Kubelet
33
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
4+
45
[Service]
56
EnvironmentFile=/etc/environment
67
ExecStartPre=/bin/bash -c "/opt/bin/download-k8s-binary kubelet"
@@ -10,7 +11,7 @@ ExecStart=/bin/bash -c '/opt/bin/kubelet --address=0.0.0.0 --port=10250 --hostna
1011
Restart=always
1112
RestartSec=10
1213
WorkingDirectory=/root/
13-
14+
SuccessExitStatus=2
1415

1516
[X-Fleet]
1617
Global=true
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
[Unit]
22
Description=Kubernetes Proxy
33
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
4+
45
[Service]
56
EnvironmentFile=/etc/environment
67
ExecStartPre=/bin/bash -c "/opt/bin/download-k8s-binary kube-proxy"
78
ExecStartPre=/bin/bash -c "/opt/bin/wupiao $(/usr/bin/etcdctl get /deis/scheduler/k8s/master):8080"
89
ExecStart=/bin/bash -c '/opt/bin/kube-proxy --master=`/usr/bin/etcdctl get /deis/scheduler/k8s/master`:8080 --logtostderr=true'
910
Restart=always
1011
RestartSec=10
12+
SuccessExitStatus=2
13+
1114
[X-Fleet]
1215
Global=true

deisctl/units/deis-kube-scheduler.service

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Description=Kubernetes Scheduler
33
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
44
Requires=deis-kube-apiserver.service
55
After=deis-kube-apiserver.service
6+
67
[Service]
78
EnvironmentFile=/etc/environment
89
ExecStartPre=/bin/bash -c "/opt/bin/download-k8s-binary kube-scheduler"
@@ -12,5 +13,7 @@ ExecStart=/opt/bin/kube-scheduler \
1213
--policy-config-file=/opt/bin/scheduler-policy.json
1314
Restart=always
1415
RestartSec=10
16+
SuccessExitStatus=2
17+
1518
[X-Fleet]
1619
MachineOf=deis-kube-apiserver.service

0 commit comments

Comments
 (0)