|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +echo "> input nodename: " |
| 4 | +read nodename |
| 5 | + |
| 6 | +echo "> input reponame(used in helm repo add): " |
| 7 | +read reponame |
| 8 | + |
| 9 | +if [[ ${#nodename} -eq 0 ]]; then |
| 10 | + nodename="kubebb" |
| 11 | +fi |
| 12 | + |
| 13 | +if [[ ${#reponame} -eq 0 ]]; then |
| 14 | + reponame="kubebb" |
| 15 | +fi |
| 16 | + |
| 17 | +nodeip=$(kubectl get node $nodename --no-headers -owide | awk '{print $6}') |
| 18 | +echo -e "nodename: $nodename, nodeip: $nodeip\n" |
| 19 | + |
| 20 | +if [[ ${#nodeip} -eq 0 ]]; then |
| 21 | + echo -e "\033[31mUnable to find node ip. enter correct node name\033[0m" |
| 22 | + exit 1 |
| 23 | +fi |
| 24 | + |
| 25 | +echo "1. add repo as ${reponame}" |
| 26 | + |
| 27 | +helm repo add $reponame https://kubebb.github.io/components 2>/dev/null |
| 28 | +helm repo update $reponame 2>/dev/null |
| 29 | + |
| 30 | +echo -e "\n2. create namespace u4a-system, kubebb-system" |
| 31 | +cat <<EOF | kubectl apply -f - |
| 32 | +apiVersion: v1 |
| 33 | +kind: Namespace |
| 34 | +metadata: |
| 35 | + name: u4a-system |
| 36 | +EOF |
| 37 | + |
| 38 | +cat <<EOF | kubectl apply -f - |
| 39 | +apiVersion: v1 |
| 40 | +kind: Namespace |
| 41 | +metadata: |
| 42 | + name: kubebb-system |
| 43 | +EOF |
| 44 | + |
| 45 | +echo -e "\n3. install kubebb-core in namesapce kubebb-system with name kubebb-core" |
| 46 | + |
| 47 | +errmsg=$(helm -nkubebb-system install kubebb-core ${reponame}/kubebb-core --wait 2>&1 >/dev/null) |
| 48 | +if [[ $? -ne 0 ]]; then |
| 49 | + echo -e "\033[31m[KUBEBB-CORE-COMPNENT]: ${errmsg}\033[0m" |
| 50 | + exit 1 |
| 51 | +else |
| 52 | + echo -e "\033[32mkubebb-core-component installed successfully\033[0m" |
| 53 | +fi |
| 54 | + |
| 55 | +echo -e "\n4. install the cluster-component in namespace u4a-system with name cluster-component" |
| 56 | + |
| 57 | +if [[ -d "cluster-component" ]]; then |
| 58 | + rm -rf cluster-component |
| 59 | +fi |
| 60 | + |
| 61 | +errmsg=$(helm pull --untar=true ${reponame}/cluster-component 2>&1 >/dev/null) |
| 62 | +if [[ $? -ne 0 ]]; then |
| 63 | + echo -e "\033[31m[CLUSTER-COMPNENT]: ${errmsg}\033[0m" |
| 64 | + exit 1 |
| 65 | +fi |
| 66 | + |
| 67 | +echo "4.1 replace <replaced-ingress-node-name> in values.yaml" |
| 68 | +sed -e "s/<replaced-ingress-node-name>/${nodename}/g" cluster-component/values.yaml >cluster-component/values-tmp.yaml |
| 69 | + |
| 70 | +echo "4.2 intall cluster-component" |
| 71 | +errmsg=$(helm -nu4a-system install cluster-component ${reponame}/cluster-component -f cluster-component/values-tmp.yaml --wait 2>&1 >/dev/null) |
| 72 | + |
| 73 | +if [[ $? -ne 0 ]]; then |
| 74 | + echo -e "\033[31m[CLUSTER-COMPNENT]: ${errmsg}\033[0m" |
| 75 | + exit 1 |
| 76 | +else |
| 77 | + echo -e "\033[32mcluster-component installed successfully\033[0m" |
| 78 | +fi |
| 79 | + |
| 80 | +echo -e "\n5. install the u4a-component in namespace u4a-system with name u4a-component" |
| 81 | + |
| 82 | +if [[ -d "u4a-component" ]]; then |
| 83 | + rm -rf u4a-component |
| 84 | +fi |
| 85 | + |
| 86 | +errmsg=$(helm pull --untar=true ${reponame}/u4a-component 2>&1 >/dev/null) |
| 87 | +if [[ $? -ne 0 ]]; then |
| 88 | + echo -e "\033[31m[U4A-COMPNENT]: ${errmsg}\033[0m" |
| 89 | + exit 1 |
| 90 | +fi |
| 91 | + |
| 92 | +echo "5.1 replace <replaced-ingress-nginx-ip> in values.yaml" |
| 93 | +sed -e "s/<replaced-ingress-nginx-ip>/${nodeip}/g" u4a-component/values.yaml >u4a-component/values-tmp.yaml |
| 94 | + |
| 95 | +echo "5.2 install u4a-compnent" |
| 96 | +errmsg=$(helm -nu4a-system install u4a-component ${reponame}/u4a-component -f u4a-component/values-tmp.yaml --wait 2>&1 >/dev/null) |
| 97 | +if [[ $? -ne 0 ]]; then |
| 98 | + echo -e "\033[31m[U4A-COMPNENT]: ${errmsg}\033[0m" |
| 99 | + exit 1 |
| 100 | +else |
| 101 | + echo -e "\033[32mu4a-component installed successfully\033[0m" |
| 102 | +fi |
| 103 | + |
| 104 | +echo -e "\n\033[32mDone\033[0m" |
0 commit comments