Skip to content

Commit

Permalink
hack/deploy-scheduler-estimator.sh support deploy estimator in the sp…
Browse files Browse the repository at this point in the history
…ecified namespace

Signed-off-by: zhzhuang-zju <m17799853869@163.com>
  • Loading branch information
zhzhuang-zju committed Sep 10, 2024
1 parent 32c2ef7 commit f343d76
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 8 deletions.
6 changes: 3 additions & 3 deletions artifacts/deploy/karmada-scheduler-estimator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: karmada-scheduler-estimator-{{member_cluster_name}}
namespace: karmada-system
namespace: {{namespace}}
labels:
cluster: {{member_cluster_name}}
spec:
Expand Down Expand Up @@ -55,7 +55,7 @@ spec:
volumes:
- name: karmada-certs
secret:
secretName: karmada-cert-secret
secretName: {{grpc_auth_secret_name}}
- name: member-kubeconfig
secret:
secretName: {{member_cluster_name}}-kubeconfig
Expand All @@ -64,7 +64,7 @@ apiVersion: v1
kind: Service
metadata:
name: karmada-scheduler-estimator-{{member_cluster_name}}
namespace: karmada-system
namespace: {{namespace}}
labels:
cluster: {{member_cluster_name}}
spec:
Expand Down
15 changes: 10 additions & 5 deletions hack/deploy-scheduler-estimator.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ set -o nounset
REPO_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
function usage() {
echo "This script will deploy karmada-scheduler-estimator of a cluster."
echo "Usage: hack/deploy-scheduler-estimator.sh <HOST_CLUSTER_KUBECONFIG> <HOST_CLUSTER_NAME> <MEMBER_CLUSTER_KUBECONFIG> <MEMBER_CLUSTER_NAME>"
echo "Usage: hack/deploy-scheduler-estimator.sh <HOST_CLUSTER_KUBECONFIG> <HOST_CLUSTER_NAME> <MEMBER_CLUSTER_KUBECONFIG> <MEMBER_CLUSTER_CONTEXT> [<MEMBER_CLUSTER_NAME> <SCHEDULER-ESTIMATOR-NAMESPACE> <GRPC_AUTH_SECRET_NAME>]"
echo "Example: hack/deploy-scheduler-estimator.sh ~/.kube/karmada.config karmada-host ~/.kube/members.config member1"
}

if [[ $# -ne 4 ]]; then
if [[ $# -lt 4 ]]; then
usage
exit 1
fi
Expand Down Expand Up @@ -61,14 +61,17 @@ then
usage
exit 1
fi
MEMBER_CLUSTER_NAME=$4
MEMBER_CLUSTER_CONTEXT=$4
MEMBER_CLUSTER_NAME=${5:-$4}
NAMESPACE=${6:-"karmada-system"}
GRPC_AUTH_SECRET_NAME=${7:-"karmada-cert-secret"}

TEMP_PATH="$(mktemp -d)"
MEMBER_CLUSTER_KUBECONFIG_NAME="$(basename "${MEMBER_CLUSTER_KUBECONFIG}")"
# --context & --minify will generate minified kubeconfig file with required context
# --flatten will embed certificate
kubectl config view --kubeconfig "${MEMBER_CLUSTER_KUBECONFIG}" \
--context "${MEMBER_CLUSTER_NAME}" --minify --flatten \
--context "${MEMBER_CLUSTER_CONTEXT}" --minify --flatten \
> "${TEMP_PATH}/${MEMBER_CLUSTER_KUBECONFIG_NAME}"

# check whether the kubeconfig secret has been created before
Expand All @@ -77,13 +80,15 @@ if ! kubectl --kubeconfig="${HOST_CLUSTER_KUBECONFIG}" --context="${HOST_CLUSTER
kubectl --kubeconfig="${HOST_CLUSTER_KUBECONFIG}" --context="${HOST_CLUSTER_NAME}" \
create secret generic "${MEMBER_CLUSTER_NAME}-kubeconfig" \
"--from-file=${MEMBER_CLUSTER_NAME}-kubeconfig=${TEMP_PATH}/${MEMBER_CLUSTER_KUBECONFIG_NAME}" \
-n "karmada-system"
-n ${NAMESPACE}
fi
rm -rf "${TEMP_PATH}"

# deploy scheduler estimator
TEMP_PATH=$(mktemp -d)
cp "${REPO_ROOT}"/artifacts/deploy/karmada-scheduler-estimator.yaml "${TEMP_PATH}"/karmada-scheduler-estimator.yaml
sed -i'' -e "s/{{grpc_auth_secret_name}}/${GRPC_AUTH_SECRET_NAME}/g" "${TEMP_PATH}"/karmada-scheduler-estimator.yaml
sed -i'' -e "s/{{namespace}}/${NAMESPACE}/g" "${TEMP_PATH}"/karmada-scheduler-estimator.yaml
sed -i'' -e "s/{{member_cluster_name}}/${MEMBER_CLUSTER_NAME}/g" "${TEMP_PATH}"/karmada-scheduler-estimator.yaml
echo -e "Apply dynamic rendered deployment in ${TEMP_PATH}/karmada-scheduler-estimator.yaml\n"
kubectl --kubeconfig="${HOST_CLUSTER_KUBECONFIG}" --context="${HOST_CLUSTER_NAME}" apply -f "${TEMP_PATH}"/karmada-scheduler-estimator.yaml
Expand Down

0 comments on commit f343d76

Please sign in to comment.