fix: preserve kube-vip mount path and only swap hostPath to super-admin
All checks were successful
Terraform Plan / Terraform Plan (push) Successful in 19s
All checks were successful
Terraform Plan / Terraform Plan (push) Successful in 19s
The previous replacement changed both mountPath and hostPath, causing kube-vip to lose its expected in-container kubeconfig path and exit. Keep mountPath at /etc/kubernetes/admin.conf, swap only hostPath during bootstrap, and enable kube-vip debug log level.
This commit is contained in:
@@ -184,6 +184,7 @@ in
|
||||
echo "==> Creating kube-vip static pod manifest"
|
||||
ctr image pull "${kubeVipImage}"
|
||||
ctr run --rm --net-host "${kubeVipImage}" kube-vip-manifest /kube-vip manifest pod \
|
||||
--log -4 \
|
||||
--interface "$iface" \
|
||||
--address "$vip" \
|
||||
--controlplane \
|
||||
@@ -192,7 +193,9 @@ in
|
||||
|
||||
# kube-vip bootstrap workaround for Kubernetes >=1.29.
|
||||
# During early kubeadm phases, super-admin.conf is available before admin.conf is fully usable.
|
||||
sed -i 's#/etc/kubernetes/admin.conf#/etc/kubernetes/super-admin.conf#g' /etc/kubernetes/manifests/kube-vip.yaml || true
|
||||
sed -i 's#path: /etc/kubernetes/admin.conf#path: /etc/kubernetes/super-admin.conf#' /etc/kubernetes/manifests/kube-vip.yaml || true
|
||||
echo "==> kube-vip manifest kubeconfig mount"
|
||||
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 \
|
||||
--config /tmp/kubeadm/init-config.yaml \
|
||||
@@ -250,7 +253,7 @@ in
|
||||
done
|
||||
|
||||
# Switch kube-vip to normal admin.conf after bootstrap finishes.
|
||||
sed -i 's#/etc/kubernetes/super-admin.conf#/etc/kubernetes/admin.conf#g' /etc/kubernetes/manifests/kube-vip.yaml || true
|
||||
sed -i 's#path: /etc/kubernetes/super-admin.conf#path: /etc/kubernetes/admin.conf#' /etc/kubernetes/manifests/kube-vip.yaml || true
|
||||
|
||||
mkdir -p /root/.kube
|
||||
cp /etc/kubernetes/admin.conf /root/.kube/config
|
||||
@@ -293,6 +296,7 @@ in
|
||||
mkdir -p /etc/kubernetes/manifests
|
||||
ctr image pull "${kubeVipImage}"
|
||||
ctr run --rm --net-host "${kubeVipImage}" kube-vip /kube-vip manifest pod \
|
||||
--log -4 \
|
||||
--interface "$iface" \
|
||||
--address "$vip" \
|
||||
--controlplane \
|
||||
|
||||
Reference in New Issue
Block a user