mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-21 01:59:07 +00:00
kubernetes: adjust for v1.8 bootstrapping arrangements.
With kube 1.8 kubeadm initially configures worker nodes with a bootstrap-kubelet.conf. Adjust our start of day scripting to DTRT. Signed-off-by: Ian Campbell <ijc@docker.com>
This commit is contained in:
parent
f85208c74a
commit
57a2ae4318
@ -11,9 +11,9 @@ if [ -e /etc/kubelet.sh.conf ] ; then
|
|||||||
. /etc/kubelet.sh.conf
|
. /etc/kubelet.sh.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
conf=/etc/kubernetes/kubelet.conf
|
await=/etc/kubernetes/kubelet.conf
|
||||||
|
|
||||||
if [ -f "${conf}" ] ; then
|
if [ -f "/etc/kubernetes/kubelet.conf" ] ; then
|
||||||
echo "kubelet.sh: kubelet already configured"
|
echo "kubelet.sh: kubelet already configured"
|
||||||
elif [ -e /var/config/kubeadm/init ] ; then
|
elif [ -e /var/config/kubeadm/init ] ; then
|
||||||
echo "kubelet.sh: init cluster with metadata \"$(cat /var/config/kubeadm/init)\""
|
echo "kubelet.sh: init cluster with metadata \"$(cat /var/config/kubeadm/init)\""
|
||||||
@ -23,26 +23,30 @@ elif [ -e /var/config/kubeadm/init ] ; then
|
|||||||
elif [ -e /var/config/kubeadm/join ] ; then
|
elif [ -e /var/config/kubeadm/join ] ; then
|
||||||
echo "kubelet.sh: joining cluster with metadata \"$(cat /var/config/kubeadm/join)\""
|
echo "kubelet.sh: joining cluster with metadata \"$(cat /var/config/kubeadm/join)\""
|
||||||
kubeadm join --skip-preflight-checks $(cat /var/config/kubeadm/join)
|
kubeadm join --skip-preflight-checks $(cat /var/config/kubeadm/join)
|
||||||
|
await=/etc/kubernetes/bootstrap-kubelet.conf
|
||||||
elif [ -e /var/config/userdata ] ; then
|
elif [ -e /var/config/userdata ] ; then
|
||||||
echo "kubelet.sh: joining cluster with metadata \"$(cat /var/config/userdata)\""
|
echo "kubelet.sh: joining cluster with metadata \"$(cat /var/config/userdata)\""
|
||||||
kubeadm join --skip-preflight-checks $(cat /var/config/userdata)
|
kubeadm join --skip-preflight-checks $(cat /var/config/userdata)
|
||||||
|
await=/etc/kubernetes/bootstrap-kubelet.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "kubelet.sh: waiting for ${conf}"
|
echo "kubelet.sh: waiting for ${await}"
|
||||||
# TODO(ijc) is there a race between kubeadm creating this file and
|
# TODO(ijc) is there a race between kubeadm creating this file and
|
||||||
# finishing the write where we might be able to fall through and
|
# finishing the write where we might be able to fall through and
|
||||||
# start kubelet with an incomplete configuration file? I've tried
|
# start kubelet with an incomplete configuration file? I've tried
|
||||||
# to provoke such a race without success. An explicit
|
# to provoke such a race without success. An explicit
|
||||||
# synchronisation barrier or changing kubeadm to write
|
# synchronisation barrier or changing kubeadm to write
|
||||||
# kubelet.conf atomically might be good in any case.
|
# kubelet.conf atomically might be good in any case.
|
||||||
until [ -f "${conf}" ] ; do
|
until [ -f "${await}" ] ; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "kubelet.sh: ${conf} has arrived" 2>&1
|
echo "kubelet.sh: ${await} has arrived" 2>&1
|
||||||
|
|
||||||
exec kubelet --kubeconfig=${conf} \
|
mkdir -p /etc/kubernetes/manifests
|
||||||
--require-kubeconfig=true \
|
|
||||||
|
exec kubelet --kubeconfig=/etc/kubernetes/kubelet.conf \
|
||||||
|
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf \
|
||||||
--pod-manifest-path=/etc/kubernetes/manifests \
|
--pod-manifest-path=/etc/kubernetes/manifests \
|
||||||
--allow-privileged=true \
|
--allow-privileged=true \
|
||||||
--cluster-dns=10.96.0.10 \
|
--cluster-dns=10.96.0.10 \
|
||||||
|
Loading…
Reference in New Issue
Block a user