show host cluster kubeconfig at the end of local-up-karmada.sh

This commit is contained in:
RainbowMango 2020-12-23 16:38:00 +08:00 committed by Hongcai Ren
parent 080bff6d3e
commit 4066b866f0
3 changed files with 26 additions and 16 deletions

View File

@ -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"

View File

@ -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
}

View File

@ -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 <<EOF
export KUBECONFIG=/var/run/karmada/karmada-apiserver.config
EOF
echo "To start checking karmada components running status on the host cluster, please run:"
cat <<EOF
export KUBECONFIG="${HOST_CLUSTER_KUBECONFIG}"
EOF
}