Backport "tie minion registration to kubelet activation"

this changes moves minion registration out of the
configure-kubernetes-minion.sh script and puts it in a systemd service
unit that tracks the state of the kubelet.service and
registers/unregisters the minion as appropriate.

heat-coe-templates: I6532a9bc08bbb2351a2ae5d29bc884cb3cad3508

Change-Id: I2d6a722d63b2b465e880daff87b8307132f82a32
This commit is contained in:
Tom Cammann 2015-05-24 02:34:39 -07:00
parent eb7abda967
commit 680a5bab0a
2 changed files with 37 additions and 13 deletions

View File

@ -32,5 +32,5 @@ cat >> /etc/environment <<EOF
KUBERNETES_MASTER=http://$KUBE_MASTER_IP:8080
EOF
/usr/local/bin/kube-register
systemctl enable kube-register

View File

@ -13,10 +13,16 @@ write_files:
awk '$1 == "inet" {print $2}' | cut -f1 -d/)
# wait for master api
until curl -sf "${master_url}/healthz"; do
until curl -o /dev/null -sf "${master_url}/healthz"; do
echo "waiting for kubernetes master"
sleep 1
done
if [ "$1" = "-u" ]; then
echo "unregistering minion $myip"
kubectl -s ${master_url} delete minion/$myip
else
echo "registering minion $myip"
cpu=$(($(nproc) * 1000))
memory=$(awk '/MemTotal: /{print $2 * 1024}' /proc/meminfo)
@ -29,3 +35,21 @@ write_files:
cpu: $cpu
memory: $memory
EOF
fi
- path: /etc/systemd/system/kube-register.service
permissions: "0644"
owner: root
content: |
[Unit]
Description=Register/unregister this node with the Kubernetes master
Requires=kubelet.service
After=kubelet.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/kube-register
ExecStop=/usr/local/bin/kube-register -u
[Install]
WantedBy=kubelet.service