Skip to content
This repository was archived by the owner on Jul 30, 2021. It is now read-only.

Commit 7a2390d

Browse files
authored
hack/quickstart: Use env file to keep track of master label/taint (#981)
1 parent 6e084e0 commit 7a2390d

File tree

4 files changed

+15
-55
lines changed

4 files changed

+15
-55
lines changed

hack/quickstart/init-master.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,9 @@ function init_master_node() {
102102
# Set cloud provider
103103
sed -i "s/cloud-provider=/cloud-provider=$CLOUD_PROVIDER/" /etc/systemd/system/kubelet.service
104104

105+
# Configure master label and taint
106+
echo -e 'node_label=node-role.kubernetes.io/master\nnode_taint=node-role.kubernetes.io/master=:NoSchedule' > /etc/kubernetes/kubelet.env
107+
105108
# Start the kubelet
106109
systemctl enable kubelet; sudo systemctl start kubelet
107110

@@ -119,8 +122,8 @@ if [ "${REMOTE_HOST}" != "local" ]; then
119122
wait_for_ssh
120123

121124
# Set up the kubelet.service on remote host
122-
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} kubelet.master ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubelet.master
123-
ssh -i ${IDENT} -p ${REMOTE_PORT} ${SSH_OPTS} ${REMOTE_USER}@${REMOTE_HOST} "sudo mv /home/${REMOTE_USER}/kubelet.master /etc/systemd/system/kubelet.service"
125+
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} kubelet.service ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubelet.service
126+
ssh -i ${IDENT} -p ${REMOTE_PORT} ${SSH_OPTS} ${REMOTE_USER}@${REMOTE_HOST} "sudo mv /home/${REMOTE_USER}/kubelet.service /etc/systemd/system/kubelet.service"
124127

125128
# Copy bootkube binary to remote host.
126129
if [ -e "../../_output/bin/linux/bootkube" ]; then

hack/quickstart/init-node.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ function init_worker_node() {
5252
# Set cloud provider
5353
sed -i "s/cloud-provider=/cloud-provider=$CLOUD_PROVIDER/" /etc/systemd/system/kubelet.service
5454

55+
if [ "$TAG_MASTER" = true ] ; then
56+
# Configure master label and taint
57+
echo -e 'node_label=node-role.kubernetes.io/master\nnode_taint=node-role.kubernetes.io/master=:NoSchedule' > /etc/kubernetes/kubelet.env
58+
fi
59+
5560
# Start services
5661
systemctl daemon-reload
5762
systemctl stop locksmithd; systemctl mask locksmithd
@@ -68,16 +73,12 @@ if [ "${REMOTE_HOST}" != "local" ]; then
6873
wait_for_ssh
6974

7075
# Copy kubelet service file and kubeconfig to remote host
71-
if [ "$TAG_MASTER" = true ] ; then
72-
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} kubelet.master ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubelet.service
73-
else
74-
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} kubelet.worker ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubelet.service
75-
fi
76+
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} kubelet.service ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubelet.service
7677
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} ${KUBECONFIG} ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/kubeconfig
7778

7879
# Copy self to remote host so script can be executed in "local" mode
7980
scp -i ${IDENT} -P ${REMOTE_PORT} ${SSH_OPTS} ${BASH_SOURCE[0]} ${REMOTE_USER}@${REMOTE_HOST}:/home/${REMOTE_USER}/init-node.sh
80-
ssh -i ${IDENT} -p ${REMOTE_PORT} ${SSH_OPTS} ${REMOTE_USER}@${REMOTE_HOST} "sudo REMOTE_USER=${REMOTE_USER} CLOUD_PROVIDER=${CLOUD_PROVIDER} /home/${REMOTE_USER}/init-node.sh local /home/${REMOTE_USER}/kubeconfig"
81+
ssh -i ${IDENT} -p ${REMOTE_PORT} ${SSH_OPTS} ${REMOTE_USER}@${REMOTE_HOST} "sudo REMOTE_USER=${REMOTE_USER} TAG_MASTER=$TAG_MASTER CLOUD_PROVIDER=${CLOUD_PROVIDER} /home/${REMOTE_USER}/init-node.sh local /home/${REMOTE_USER}/kubeconfig"
8182

8283
# Cleanup
8384
ssh -i ${IDENT} -p ${REMOTE_PORT} ${SSH_OPTS} ${REMOTE_USER}@${REMOTE_HOST} "rm /home/${REMOTE_USER}/{init-node.sh,kubeconfig}"
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[Service]
2+
EnvironmentFile=-/etc/kubernetes/kubelet.env
23
Environment=KUBELET_IMAGE_URL=docker://k8s.gcr.io/hyperkube
34
Environment=KUBELET_IMAGE_TAG=v1.10.2
45
Environment=KUBELET_MINIMUM_CONTAINER_TTL_DURATION=3m0s
@@ -37,9 +38,9 @@ ExecStart=/usr/lib/coreos/kubelet-wrapper \
3738
--maximum-dead-containers-per-container=${KUBELET_MAXIMUM_DEAD_CONTAINERS_PER_CONTAINER} \
3839
--minimum-container-ttl-duration=${KUBELET_MINIMUM_CONTAINER_TTL_DURATION} \
3940
--network-plugin=cni \
40-
--node-labels=node-role.kubernetes.io/master \
41+
--node-labels=${node_label} \
4142
--pod-manifest-path=/etc/kubernetes/manifests \
42-
--register-with-taints=node-role.kubernetes.io/master=:NoSchedule \
43+
--register-with-taints=${node_taint} \
4344
--rotate-certificates
4445
ExecStop=-/usr/bin/rkt stop --uuid-file=/var/cache/kubelet-pod.uuid
4546
Restart=always

hack/quickstart/kubelet.worker

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)