mirror of https://github.com/k3s-io/k3s
Make kube-up wait for the libvirt-coreos cluster to be ready
so that validate-cluster passes.pull/6/head
parent
a25f2ad28d
commit
7ce6f22687
|
@ -156,6 +156,25 @@ function render-template {
|
|||
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
|
||||
function kube-up {
|
||||
detect-master
|
||||
|
@ -194,6 +213,15 @@ function kube-up {
|
|||
virsh create $domain_xml
|
||||
rm $domain_xml
|
||||
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
|
||||
|
|
|
@ -69,7 +69,7 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
|
|||
fi
|
||||
|
||||
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
|
||||
name=$(grep "${MINION_NAMES[$i]}\." "${MINIONS_FILE}")
|
||||
fi
|
||||
|
@ -79,8 +79,13 @@ for (( i=0; i<${#MINION_NAMES[@]}; i++)); do
|
|||
attempt=0
|
||||
while true; do
|
||||
echo -n "Attempt $((attempt+1)) at checking Kubelet installation on node ${MINION_NAMES[$i]} ..."
|
||||
curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
|
||||
if [ "$KUBERNETES_PROVIDER" != "libvirt-coreos" ]; then
|
||||
curl_output=$(curl -s --insecure --user "${KUBE_USER}:${KUBE_PASSWORD}" \
|
||||
"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 (( attempt > 5 )); then
|
||||
echo
|
||||
|
|
Loading…
Reference in New Issue