mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
Use kubeconfig to manage config for gce/e2e clusters
This commit is contained in:
parent
0474c49b07
commit
e0ec192869
@ -203,16 +203,6 @@ function get-password {
|
|||||||
fi
|
fi
|
||||||
KUBE_USER=admin
|
KUBE_USER=admin
|
||||||
KUBE_PASSWORD=$(python -c 'import string,random; print "".join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(16))')
|
KUBE_PASSWORD=$(python -c 'import string,random; print "".join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(16))')
|
||||||
|
|
||||||
# Remove this code, since in all use cases I can see, we are overwriting this
|
|
||||||
# at cluster creation time.
|
|
||||||
cat << EOF > "$file"
|
|
||||||
{
|
|
||||||
"User": "$KUBE_USER",
|
|
||||||
"Password": "$KUBE_PASSWORD"
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
chmod 0600 "$file"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate authentication token for admin user. Will
|
# Generate authentication token for admin user. Will
|
||||||
@ -505,30 +495,44 @@ function kube-up {
|
|||||||
|
|
||||||
echo "Kubernetes cluster created."
|
echo "Kubernetes cluster created."
|
||||||
|
|
||||||
local kube_cert=".kubecfg.crt"
|
local kube_cert="kubecfg.crt"
|
||||||
local kube_key=".kubecfg.key"
|
local kube_key="kubecfg.key"
|
||||||
local ca_cert=".kubernetes.ca.crt"
|
local ca_cert="kubernetes.ca.crt"
|
||||||
|
# TODO use token instead of kube_auth
|
||||||
|
local kube_auth="kubernetes_auth"
|
||||||
|
|
||||||
|
local kubectl="${KUBE_ROOT}/cluster/kubectl.sh"
|
||||||
|
local context="${INSTANCE_PREFIX}"
|
||||||
|
local user="${INSTANCE_PREFIX}-admin"
|
||||||
|
local config_dir="${HOME}/.kube/${context}"
|
||||||
|
|
||||||
# TODO: generate ADMIN (and KUBELET) tokens and put those in the master's
|
# TODO: generate ADMIN (and KUBELET) tokens and put those in the master's
|
||||||
# config file. Distribute the same way the htpasswd is done.
|
# config file. Distribute the same way the htpasswd is done.
|
||||||
(umask 077
|
(
|
||||||
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/kubecfg.crt" >"${HOME}/${kube_cert}" 2>/dev/null
|
mkdir -p "${config_dir}"
|
||||||
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/kubecfg.key" >"${HOME}/${kube_key}" 2>/dev/null
|
umask 077
|
||||||
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/ca.crt" >"${HOME}/${ca_cert}" 2>/dev/null
|
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/kubecfg.crt" >"${config_dir}/${kube_cert}" 2>/dev/null
|
||||||
|
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/kubecfg.key" >"${config_dir}/${kube_key}" 2>/dev/null
|
||||||
|
gcloud compute ssh --project "${PROJECT}" --zone "$ZONE" "${MASTER_NAME}" --command "sudo cat /srv/kubernetes/ca.crt" >"${config_dir}/${ca_cert}" 2>/dev/null
|
||||||
|
|
||||||
cat << EOF > ~/.kubernetes_auth
|
"${kubectl}" config set-cluster "${context}" --server="https://${KUBE_MASTER_IP}" --certificate-authority="${config_dir}/${ca_cert}" --global
|
||||||
|
"${kubectl}" config set-credentials "${user}" --auth-path="${config_dir}/${kube_auth}" --global
|
||||||
|
"${kubectl}" config set-context "${context}" --cluster="${context}" --user="${user}" --global
|
||||||
|
"${kubectl}" config use-context "${context}" --global
|
||||||
|
|
||||||
|
cat << EOF > "${config_dir}/${kube_auth}"
|
||||||
{
|
{
|
||||||
"User": "$KUBE_USER",
|
"User": "$KUBE_USER",
|
||||||
"Password": "$KUBE_PASSWORD",
|
"Password": "$KUBE_PASSWORD",
|
||||||
"CAFile": "$HOME/$ca_cert",
|
"CAFile": "${config_dir}/${ca_cert}",
|
||||||
"CertFile": "$HOME/$kube_cert",
|
"CertFile": "${config_dir}/${kube_cert}",
|
||||||
"KeyFile": "$HOME/$kube_key"
|
"KeyFile": "${config_dir}/${kube_key}"
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
chmod 0600 ~/.kubernetes_auth "${HOME}/${kube_cert}" \
|
chmod 0600 "${config_dir}/${kube_auth}" "${config_dir}/$kube_cert" \
|
||||||
"${HOME}/${kube_key}" "${HOME}/${ca_cert}"
|
"${config_dir}/${kube_key}" "${config_dir}/${ca_cert}"
|
||||||
echo Wrote ~/.kubernetes_auth
|
echo "Wrote ${config_dir}/${kube_auth}"
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "Sanity checking cluster..."
|
echo "Sanity checking cluster..."
|
||||||
@ -576,7 +580,7 @@ EOF
|
|||||||
echo
|
echo
|
||||||
echo -e "${color_yellow} https://${KUBE_MASTER_IP}"
|
echo -e "${color_yellow} https://${KUBE_MASTER_IP}"
|
||||||
echo
|
echo
|
||||||
echo -e "${color_green}The user name and password to use is located in ~/.kubernetes_auth.${color_norm}"
|
echo -e "${color_green}The user name and password to use is located in ${config_dir}/${kube_auth}.${color_norm}"
|
||||||
echo
|
echo
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user