|
| 1 | +# CAN ONLY BE RUN AFTER CREATING NEEDED HUB CLUSTER, MEMBER CLUSTERS AND AFTER INSTALLING THE FLEET MEMBER AGENT ON EACH MEMBER CLUSTER. |
| 2 | +# This can be achieved by running the script in fleet/hack/Azure/setup/joinMC.sh in the fleet repository https://github.com/Azure/fleet. |
| 3 | +# This script installs the fleet-networking member agents on each member cluster. |
| 4 | + |
| 5 | +export REFRESH_TOKEN_IMAGE_TAG="$1" |
| 6 | +export FLEET_NETWORKING_AGENT_IMAGE_TAG="$2" |
| 7 | + |
| 8 | +export HUB_CLUSTER="$3" |
| 9 | +export HUB_CLUSTER_CONTEXT=$(kubectl config view -o jsonpath="{.contexts[?(@.context.cluster==\"$HUB_CLUSTER\")].name}") |
| 10 | +export HUB_CLUSTER_ADDRESS=$(kubectl config view -o jsonpath="{.clusters[?(@.name==\"$HUB_CLUSTER\")].cluster.server}") |
| 11 | + |
| 12 | +for MC in "${@:4}"; do |
| 13 | + |
| 14 | +export MEMBER_CLUSTER=$(kubectl config view -o jsonpath="{.contexts[?(@.context.cluster==\"$MC\")].name}") |
| 15 | +export MEMBER_CLUSTER_CONTEXT=$(kubectl config view -o jsonpath="{.contexts[?(@.context.cluster==\"$MC\")].name}") |
| 16 | + |
| 17 | +echo "Switching to member cluster context..." |
| 18 | +kubectl config use-context $MEMBER_CLUSTER_CONTEXT |
| 19 | + |
| 20 | +echo "Apply the Fleet networking CRDs..." |
| 21 | +kubectl apply -f config/crd/* |
| 22 | + |
| 23 | +# # Install the fleet-networking member agent helm charts on the member cluster. |
| 24 | +# The variables below uses the fleet-networking images kept in the Microsoft Container Registry (MCR) |
| 25 | +echo "Retrieving image..." |
| 26 | +export REGISTRY="mcr.microsoft.com/aks/fleet" |
| 27 | +export MCS_CONTROLLER_MANAGER_IMAGE="mcs-controller-manager" |
| 28 | +export MEMBER_NET_CONTROLLER_MANAGER_IMAGE="member-net-controller-manager" |
| 29 | +export REFRESH_TOKEN_IMAGE="${REFRESH_TOKEN_NAME:-refresh-token}" |
| 30 | +export OUTPUT_TYPE="${OUTPUT_TYPE:-type=docker}" |
| 31 | + |
| 32 | +echo "Uninstalling mcs-controller-manager..." |
| 33 | +helm uninstall mcs-controller-manager --wait |
| 34 | + |
| 35 | +echo "Installing mcs-controller-manager..." |
| 36 | +helm install mcs-controller-manager ./charts/mcs-controller-manager/ \ |
| 37 | +--set image.repository=$REGISTRY/$MCS_CONTROLLER_MANAGER_IMAGE \ |
| 38 | +--set refreshtoken.repository=$REGISTRY/$REFRESH_TOKEN_IMAGE \ |
| 39 | +--set refreshtoken.tag=$REFRESH_TOKEN_IMAGE_TAG \ |
| 40 | +--set image.tag=$FLEET_NETWORKING_AGENT_IMAGE_TAG \ |
| 41 | +--set image.pullPolicy=Always \ |
| 42 | +--set refreshtoken.pullPolicy=Always \ |
| 43 | +--set config.hubURL=$HUB_CLUSTER_ADDRESS \ |
| 44 | +--set config.memberClusterName=$MEMBER_CLUSTER \ |
| 45 | +--set enableV1Alpha1APIs=false \ |
| 46 | +--set enableV1Beta1APIs=true \ |
| 47 | +--set logVerbosity=8 |
| 48 | + |
| 49 | +echo "Uninstalling member-net-controller-manager..." |
| 50 | +helm uninstall member-net-controller-manager --wait |
| 51 | + |
| 52 | +echo "Installing member-net-controller-manager..." |
| 53 | +helm install member-net-controller-manager ./charts/member-net-controller-manager/ \ |
| 54 | +--set image.repository=$REGISTRY/$MEMBER_NET_CONTROLLER_MANAGER_IMAGE \ |
| 55 | +--set refreshtoken.repository=$REGISTRY/$REFRESH_TOKEN_IMAGE \ |
| 56 | +--set refreshtoken.tag=$REFRESH_TOKEN_IMAGE_TAG \ |
| 57 | +--set image.tag=$FLEET_NETWORKING_AGENT_IMAGE_TAG \ |
| 58 | +--set timage.pullPolicy=Always \ |
| 59 | +--set refreshtoken.pullPolicy=Always \ |
| 60 | +--set config.hubURL=$HUB_CLUSTER_ADDRESS \ |
| 61 | +--set config.memberClusterName=$MEMBER_CLUSTER \ |
| 62 | +--set enableV1Alpha1APIs=false \ |
| 63 | +--set enableV1Beta1APIs=true \ |
| 64 | +--set logVerbosity=8 |
| 65 | + |
| 66 | +kubectl get pods -A |
| 67 | +kubectl config use-context $HUB_CLUSTER_CONTEXT |
| 68 | +kubectl get membercluster $MEMBER_CLUSTER |
| 69 | +done |
0 commit comments