Merge pull request 'fix: recover from kubeadm CRISocket node-registration race' (#111) from stage into master
Some checks failed
Terraform Apply / Terraform Apply (push) Failing after 18m6s
Some checks failed
Terraform Apply / Terraform Apply (push) Failing after 18m6s
Reviewed-on: #111
This commit was merged in pull request #111.
This commit is contained in:
@@ -210,10 +210,29 @@ in
|
|||||||
echo "==> kube-vip manifest kubeconfig mount"
|
echo "==> kube-vip manifest kubeconfig mount"
|
||||||
grep -E 'mountPath:|path:' /etc/kubernetes/manifests/kube-vip.yaml | grep -E 'kubernetes/(admin|super-admin)\.conf' || true
|
grep -E 'mountPath:|path:' /etc/kubernetes/manifests/kube-vip.yaml | grep -E 'kubernetes/(admin|super-admin)\.conf' || true
|
||||||
|
|
||||||
env -i PATH=/run/current-system/sw/bin:/usr/bin:/bin kubeadm init \
|
KUBEADM_INIT_LOG=/tmp/kubeadm-init.log
|
||||||
|
if ! env -i PATH=/run/current-system/sw/bin:/usr/bin:/bin kubeadm init \
|
||||||
--config /tmp/kubeadm/init-config.yaml \
|
--config /tmp/kubeadm/init-config.yaml \
|
||||||
--upload-certs \
|
--upload-certs \
|
||||||
--ignore-preflight-errors=NumCPU,HTTPProxyCIDR,Port-10250 || {
|
--ignore-preflight-errors=NumCPU,HTTPProxyCIDR,Port-10250 2>&1 | tee "$KUBEADM_INIT_LOG"; then
|
||||||
|
if grep -q "error writing CRISocket for this node: nodes" "$KUBEADM_INIT_LOG" && [ -f /etc/kubernetes/admin.conf ]; then
|
||||||
|
echo "==> kubeadm hit CRISocket race; waiting for node registration"
|
||||||
|
registered=0
|
||||||
|
for i in $(seq 1 60); do
|
||||||
|
if KUBECONFIG=/etc/kubernetes/admin.conf kubectl get node "$node_name" >/dev/null 2>&1; then
|
||||||
|
echo "==> node $node_name registered; uploading kubelet config"
|
||||||
|
env -i PATH=/run/current-system/sw/bin:/usr/bin:/bin kubeadm init phase upload-config kubelet --config /tmp/kubeadm/init-config.yaml
|
||||||
|
registered=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
if [ "$registered" -ne 1 ]; then
|
||||||
|
echo "==> node $node_name did not register after kubeadm init failure"
|
||||||
|
KUBECONFIG=/etc/kubernetes/admin.conf kubectl get nodes -o wide || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
echo "==> kubeadm init failed, checking pod status:"
|
echo "==> kubeadm init failed, checking pod status:"
|
||||||
crictl pods || true
|
crictl pods || true
|
||||||
crictl ps -a || true
|
crictl ps -a || true
|
||||||
@@ -230,7 +249,8 @@ in
|
|||||||
echo "==> kubelet logs:"
|
echo "==> kubelet logs:"
|
||||||
journalctl -xeu kubelet --no-pager -n 50
|
journalctl -xeu kubelet --no-pager -n 50
|
||||||
exit 1
|
exit 1
|
||||||
}
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
echo "==> Waiting for kube-vip to claim VIP $vip"
|
echo "==> Waiting for kube-vip to claim VIP $vip"
|
||||||
for i in $(seq 1 90); do
|
for i in $(seq 1 90); do
|
||||||
|
|||||||
Reference in New Issue
Block a user