mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Make kube-up wait for the libvirt-coreos cluster to be ready
so that validate-cluster passes.
This commit is contained in:
parent
a25f2ad28d
commit
7ce6f22687
@ -156,6 +156,25 @@ function render-template {
|
|||||||
eval "echo \"$(cat $1)\""
|
eval "echo \"$(cat $1)\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function wait-cluster-readiness {
|
||||||
|
echo "Wait for cluster readiness"
|
||||||
|
local kubectl="${KUBE_ROOT}/cluster/kubectl.sh"
|
||||||
|
|
||||||
|
local timeout=50
|
||||||
|
while [[ $timeout -ne 0 ]]; do
|
||||||
|
nb_ready_minions=$("${kubectl}" get minions -o template -t "{{range.items}}{{range.status.conditions}}{{.kind}}{{end}}:{{end}}" 2>/dev/null | tr ':' '\n' | grep -c Ready || true)
|
||||||
|
echo "Nb ready minions: $nb_ready_minions / $NUM_MINIONS"
|
||||||
|
if [[ "$nb_ready_minions" -eq "$NUM_MINIONS" ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
timeout=$(($timeout-1))
|
||||||
|
sleep .5
|
||||||
|
done
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
# Instantiate a kubernetes cluster
|
# Instantiate a kubernetes cluster
|
||||||
function kube-up {
|
function kube-up {
|
||||||
detect-master
|
detect-master
|
||||||
@ -194,6 +213,15 @@ function kube-up {
|
|||||||
virsh create $domain_xml
|
virsh create $domain_xml
|
||||||
rm $domain_xml
|
rm $domain_xml
|
||||||
done
|
done
|
||||||
|
|
||||||
|
wait-cluster-readiness
|
||||||
|
|
||||||
|
echo "Kubernetes cluster is running. The master is running at:"
|
||||||
|
echo
|
||||||
|
echo " http://${KUBE_MASTER_IP}:8080"
|
||||||
|
echo
|
||||||
|
echo "You can control the Kubernetes cluster with: 'cluster/kubectl.sh'"
|
||||||
|
echo "You can connect on the master with: 'ssh core@${KUBE_MASTER_IP}'"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Delete a kubernetes cluster
|
# Delete a kubernetes cluster
|
||||||
|
@ -69,7 +69,7 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
name="${MINION_NAMES[$i]}"
|
name="${MINION_NAMES[$i]}"
|
||||||
if [ "$KUBERNETES_PROVIDER" != "vsphere" ] && [ "$KUBERNETES_PROVIDER" != "vagrant" ]; then
|
if [ "$KUBERNETES_PROVIDER" != "vsphere" ] && [ "$KUBERNETES_PROVIDER" != "vagrant" ] && [ "$KUBERNETES_PROVIDER" != "libvirt-coreos" ]; then
|
||||||
# Grab fully qualified name
|
# Grab fully qualified name
|
||||||
name=$(grep "${MINION_NAMES[$i]}\." "${MINIONS_FILE}")
|
name=$(grep "${MINION_NAMES[$i]}\." "${MINIONS_FILE}")
|
||||||
fi
|
fi
|
||||||
@ -79,8 +79,13 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
|
|||||||
attempt=0
|
attempt=0
|
||||||
while true; do
|
while true; do
|
||||||
echo -n "Attempt $((attempt+1)) at checking Kubelet installation on node ${MINION_NAMES[$i]} ..."
|
echo -n "Attempt $((attempt+1)) at checking Kubelet installation on node ${MINION_NAMES[$i]} ..."
|
||||||
|
if [ "$KUBERNETES_PROVIDER" != "libvirt-coreos" ]; then
|
||||||
curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
|
curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
|
||||||
"https://${KUBE_MASTER_IP}/api/v1beta1/proxy/minions/${name}/healthz")
|
"https://${KUBE_MASTER_IP}/api/v1beta1/proxy/minions/${name}/healthz")
|
||||||
|
else
|
||||||
|
curl_output=$(curl -s \
|
||||||
|
"http://${KUBE_MASTER_IP}:8080/api/v1beta1/proxy/minions/${name}/healthz")
|
||||||
|
fi
|
||||||
if [[ "${curl_output}" != "ok" ]]; then
|
if [[ "${curl_output}" != "ok" ]]; then
|
||||||
if (( attempt > 5 )); then
|
if (( attempt > 5 )); then
|
||||||
echo
|
echo
|
||||||
|
Loading…
Reference in New Issue
Block a user