From 4066b866f0d3cc4816325ebafbb227d7d199a8d3 Mon Sep 17 00:00:00 2001 From: RainbowMango Date: Wed, 23 Dec 2020 16:38:00 +0800 Subject: [PATCH] show host cluster kubeconfig at the end of local-up-karmada.sh --- hack/deploy-karmada.sh | 17 +++++++++-------- hack/generate-cert.sh | 9 ++++++--- hack/local-up-karmada.sh | 16 +++++++++++----- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/hack/deploy-karmada.sh b/hack/deploy-karmada.sh index ccb63e8d8..478cba9aa 100755 --- a/hack/deploy-karmada.sh +++ b/hack/deploy-karmada.sh @@ -6,8 +6,9 @@ set -o nounset SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. CERT_DIR=${CERT_DIR:-"/var/run/karmada"} KARMADA_APISERVER_CONFIG="${CERT_DIR}/karmada-apiserver.config" -KUBECONFIG_PATH=${KUBECONFIG_PATH:-"${HOME}/.kube"} -KARMADA_KUBECONFIG="${KUBECONFIG_PATH}/karmada.config" +# The host cluster name which used to install karmada control plane components. +HOST_CLUSTER_NAME=${HOST_CLUSTER_NAME:-"karmada-host"} +HOST_CLUSTER_KUBECONFIG=${HOST_CLUSTER_KUBECONFIG:-"${HOME}/.kube/karmada-host.config"} etcd_pod_label="etcd" apiserver_pod_label="karmada-apiserver" @@ -41,6 +42,8 @@ function installCRDs() { kubectl apply -f "${SCRIPT_ROOT}/artifacts/deploy/propagationstrategy.karmada.io_propagationworks.yaml" } +export KUBECONFIG="${HOST_CLUSTER_KUBECONFIG}" + # create namespace for control plane components kubectl apply -f "${SCRIPT_ROOT}/artifacts/deploy/namespace.yaml" @@ -59,7 +62,7 @@ kubectl apply -f "${SCRIPT_ROOT}/artifacts/deploy/karmada-etcd.yaml" waitPodReady $etcd_pod_label "karmada-system" # deploy karmada apiserver -KARMADA_API_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "karmada-control-plane") +KARMADA_API_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "${HOST_CLUSTER_NAME}-control-plane") cp -rf ${SCRIPT_ROOT}/artifacts/deploy/karmada-apiserver.yaml ${SCRIPT_ROOT}/artifacts/deploy/karmada-apiserver-tmp.yaml sed -i "s/{{api_addr}}/${KARMADA_API_IP}/g" ${SCRIPT_ROOT}/artifacts/deploy/karmada-apiserver-tmp.yaml @@ -74,12 +77,10 @@ kubectl apply -f "${SCRIPT_ROOT}/artifacts/deploy/kube-controller-manager.yaml" # Wait for karmada kube controller manager to come up before launching the rest of the components. waitPodReady $controller_pod_label "karmada-system" +# install CRD APIs on karmada apiserver. export KUBECONFIG=${KARMADA_APISERVER_CONFIG} - -# install CRD APIs installCRDs -export KUBECONFIG=${KARMADA_KUBECONFIG} - -# deploy controller-manager +# deploy controller-manager on host cluster +export KUBECONFIG=${HOST_CLUSTER_KUBECONFIG} kubectl apply -f "${SCRIPT_ROOT}/artifacts/deploy/controller-manager.yaml" diff --git a/hack/generate-cert.sh b/hack/generate-cert.sh index d86a3f4d2..f9798d595 100755 --- a/hack/generate-cert.sh +++ b/hack/generate-cert.sh @@ -4,13 +4,16 @@ set -o errexit set -o nounset set -o pipefail -SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. +# The host cluster name which used to install karmada control plane components. +HOST_CLUSTER_NAME=${HOST_CLUSTER_NAME:-"karmada-host"} +API_SECURE_PORT=${API_SECURE_PORT:-5443} + CERT_DIR=${CERT_DIR:-"/var/run/karmada"} mkdir -p "${CERT_DIR}" &>/dev/null || sudo mkdir -p "${CERT_DIR}" CFSSL_VERSION="v1.5.0" CONTROLPLANE_SUDO=$(test -w "${CERT_DIR}" || echo "sudo -E") ROOT_CA_FILE=${CERT_DIR}/server-ca.crt -API_SECURE_PORT=${API_SECURE_PORT:-5443} +SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. # check whether openssl is installed. function ensure_openssl { @@ -95,7 +98,7 @@ function generate_certs { # generate kubeconfig file for kubectl function generate_kubeconfig { - KARMADA_API_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "karmada-control-plane") + KARMADA_API_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "${HOST_CLUSTER_NAME}-control-plane") write_client_kubeconfig "${CONTROLPLANE_SUDO}" "${CERT_DIR}" "${ROOT_CA_FILE}" "${KARMADA_API_IP}" "${API_SECURE_PORT}" karmada-apiserver } diff --git a/hack/local-up-karmada.sh b/hack/local-up-karmada.sh index 8c9667537..695293cec 100755 --- a/hack/local-up-karmada.sh +++ b/hack/local-up-karmada.sh @@ -4,24 +4,26 @@ set -o errexit set -o nounset set -o pipefail +# The path for KUBECONFIG. KUBECONFIG_PATH=${KUBECONFIG_PATH:-"${HOME}/.kube"} +# The host cluster name which used to install karmada control plane components. +HOST_CLUSTER_NAME=${HOST_CLUSTER_NAME:-"karmada-host"} # This script starts a local karmada control plane. # Usage: hack/local-up-karmada.sh # Example: hack/local-up-karmada.sh (start local karmada) SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. +# The KUBECONFIG path for the 'host cluster'. +HOST_CLUSTER_KUBECONFIG="${KUBECONFIG_PATH}/${HOST_CLUSTER_NAME}.config" # Make sure KUBECONFIG path exists. if [ ! -d "$KUBECONFIG_PATH" ]; then mkdir -p "$KUBECONFIG_PATH" fi -KARMADA_KUBECONFIG="${KUBECONFIG_PATH}/karmada.config" - # create a cluster to deploy karmada control plane components. -"${SCRIPT_ROOT}"/hack/create-cluster.sh karmada "${KARMADA_KUBECONFIG}" -export KUBECONFIG="${KARMADA_KUBECONFIG}" +"${SCRIPT_ROOT}"/hack/create-cluster.sh "${HOST_CLUSTER_NAME}" "${HOST_CLUSTER_KUBECONFIG}" # make controller-manager image export VERSION="latest" @@ -29,7 +31,7 @@ export REGISTRY="swr.ap-southeast-1.myhuaweicloud.com/karmada" make images # load controller-manager image -kind load docker-image "${REGISTRY}/karmada-controller-manager:${VERSION}" --name=karmada +kind load docker-image "${REGISTRY}/karmada-controller-manager:${VERSION}" --name="${HOST_CLUSTER_NAME}" # deploy karmada control plane "${SCRIPT_ROOT}"/hack/deploy-karmada.sh @@ -40,6 +42,10 @@ function print_success() { echo "To start using your karmada, run:" cat <