|
3 | 3 | set -o nounset
|
4 | 4 | set -o pipefail
|
5 | 5 |
|
6 |
| -export MANAGED_CLUSTER_NAME=cluster1 |
7 | 6 | KUBECTL=${KUBECTL:-kubectl}
|
8 | 7 |
|
9 |
| -rm -rf ocm |
| 8 | +MANAGED_CLUSTER_NAME="cluster1" |
| 9 | +BUILD_DIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" |
| 10 | +DEPLOY_DIR="$(dirname "$BUILD_DIR")" |
| 11 | +EXAMPLE_DIR="$(dirname "$DEPLOY_DIR")" |
| 12 | +REPO_DIR="$(dirname "$EXAMPLE_DIR")" |
| 13 | +WORK_DIR="${REPO_DIR}/_output" |
| 14 | +CLUSTERADM="clusteradm" |
10 | 15 |
|
11 |
| -echo "############ Cloning ocm" |
12 |
| -git clone --depth 1 --branch release-0.13 https://github.com/open-cluster-management-io/ocm.git |
| 16 | +export PATH=$PATH:${WORK_DIR}/bin |
13 | 17 |
|
14 |
| -cd ocm || { |
15 |
| - printf "cd failed, ocm does not exist" |
16 |
| - return 1 |
17 |
| -} |
| 18 | +echo "############ Install clusteradm" |
| 19 | +go install open-cluster-management.io/clusteradm/cmd/clusteradm@main |
18 | 20 |
|
19 |
| -echo "############ Deploying hub" |
20 |
| -$KUBECTL config use-context kind-hub |
21 |
| -#kind export kubeconfig --name hub |
22 |
| -make deploy-hub |
23 |
| -if [ $? -ne 0 ]; then |
24 |
| - echo "############ Failed to deploy hub" |
25 |
| - exit 1 |
26 |
| -fi |
| 21 | +echo "############ Init hub" |
| 22 | +${CLUSTERADM} init --wait --bundle-version=latest |
| 23 | +joincmd=$(${CLUSTERADM} get token | grep clusteradm) |
27 | 24 |
|
28 |
| -kind get kubeconfig --name hub --internal > ./.hub-kubeconfig |
| 25 | +echo "############ Init agent as cluster1" |
| 26 | +$(echo ${joincmd} --force-internal-endpoint-lookup --wait --bundle-version=latest | sed "s/<cluster_name>/${MANAGED_CLUSTER_NAME}/g") |
29 | 27 |
|
30 |
| -for i in {1..7}; do |
31 |
| - echo "############$i Checking cluster-manager-registration-controller" |
32 |
| - RUNNING_POD=$($KUBECTL -n open-cluster-management-hub get pods | grep cluster-manager-registration-controller | grep -c "Running") |
33 |
| - if [ "${RUNNING_POD}" -ge 1 ]; then |
34 |
| - break |
35 |
| - fi |
| 28 | +echo "############ Accept join of cluster1" |
| 29 | +${CLUSTERADM} accept --clusters ${MANAGED_CLUSTER_NAME} --wait |
36 | 30 |
|
37 |
| - if [ $i -eq 7 ]; then |
38 |
| - echo "!!!!!!!!!! the cluster-manager-registration-controller is not ready within 3 minutes" |
39 |
| - $KUBECTL -n open-cluster-management-hub get pods |
40 |
| - |
41 |
| - exit 1 |
42 |
| - fi |
43 |
| - sleep 30 |
44 |
| -done |
45 |
| - |
46 |
| -for i in {1..7}; do |
47 |
| - echo "############$i Checking cluster-manager-registration-webhook" |
48 |
| - RUNNING_POD=$($KUBECTL -n open-cluster-management-hub get pods | grep cluster-manager-registration-webhook | grep -c "Running") |
49 |
| - if [ "${RUNNING_POD}" -ge 1 ]; then |
50 |
| - break |
51 |
| - fi |
52 |
| - |
53 |
| - if [ $i -eq 7 ]; then |
54 |
| - echo "!!!!!!!!!! the cluster-manager-registration-webhook is not ready within 3 minutes" |
55 |
| - $KUBECTL -n open-cluster-management-hub get pods |
56 |
| - exit 1 |
57 |
| - fi |
58 |
| - sleep 30s |
59 |
| -done |
60 |
| - |
61 |
| -echo "############ Deploying managed cluster" |
62 |
| -$KUBECTL config use-context kind-cluster1 |
63 |
| -#kind export kubeconfig --name cluster1 |
64 |
| -make deploy-spoke-operator |
65 |
| -if [ $? -ne 0 ]; then |
66 |
| - echo "############ Failed to deploy spoke" |
67 |
| - exit 1 |
68 |
| -fi |
69 |
| - |
70 |
| -make apply-spoke-cr |
71 |
| -if [ $? -ne 0 ]; then |
72 |
| - echo "############ Failed to apply spoke cr" |
73 |
| - exit 1 |
74 |
| -fi |
75 |
| - |
76 |
| -for i in {1..7}; do |
77 |
| - echo "############$i Checking klusterlet-registration-agent" |
78 |
| - RUNNING_POD=$($KUBECTL -n open-cluster-management-agent get pods | grep klusterlet-registration-agent | grep -c "Running") |
79 |
| - if [ ${RUNNING_POD} -ge 1 ]; then |
80 |
| - break |
81 |
| - fi |
82 |
| - |
83 |
| - if [ $i -eq 7 ]; then |
84 |
| - echo "!!!!!!!!!! the klusterlet-registration-agent is not ready within 3 minutes" |
85 |
| - $KUBECTL -n open-cluster-management-agent get pods |
86 |
| - exit 1 |
87 |
| - fi |
88 |
| - sleep 30 |
89 |
| -done |
90 |
| - |
91 |
| -$KUBECTL get ns open-cluster-management-agent-addon ; if [ $? -ne 0 ] ; then kubectl create ns open-cluster-management-agent-addon ; fi |
92 |
| - |
93 |
| -echo "############ env is installed successfully!!" |
94 |
| - |
95 |
| -$KUBECTL config use-context kind-hub |
96 |
| -#kind export kubeconfig --name hub |
97 |
| - |
98 |
| -echo "############ Cleanup" |
99 |
| -cd ../ || exist |
100 |
| -rm -rf ocm |
101 |
| - |
102 |
| -echo "############ Finished installation!!!" |
103 |
| - |
104 |
| -CSR_NAME=$(kubectl get csr | grep cluster1 | cut -d' ' -f1) |
105 |
| -$KUBECTL certificate approve $CSR_NAME |
106 |
| -$KUBECTL patch managedcluster cluster1 -p='{"spec":{"hubAcceptsClient":true}}' --type=merge |
107 |
| - |
108 |
| -sleep 10 |
109 |
| - |
110 |
| -$KUBECTL get managedcluster |
| 31 | +echo "############ All-in-one env is installed successfully!!" |
0 commit comments