chore: init monorepo snapshot
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get the directory where this script is located
|
||||
DATABASE_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
# Load configuration file
|
||||
source "$DATABASE_SCRIPT_DIR/00-config.sh"
|
||||
|
||||
# Check dependencies
|
||||
check_dependencies
|
||||
|
||||
# Function for installing KubeBlocks
|
||||
install_kubeblocks() {
|
||||
print "Ready to install KubeBlocks."
|
||||
|
||||
# Install CSI Snapshotter CRDs
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v8.2.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v8.2.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml
|
||||
kubectl create -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v8.2.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml
|
||||
|
||||
# Add and update Piraeus repository
|
||||
helm repo add piraeus-charts https://piraeus.io/helm-charts/
|
||||
helm repo update
|
||||
|
||||
# Install snapshot controller
|
||||
helm install snapshot-controller piraeus-charts/snapshot-controller -n kb-system --create-namespace
|
||||
kubectl wait --for=condition=ready pods -l app.kubernetes.io/name=snapshot-controller -n kb-system --timeout=60s
|
||||
print_success "snapshot-controller installation complete!"
|
||||
|
||||
# Install KubeBlocks CRDs
|
||||
kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/v${KB_VERSION}/kubeblocks_crds.yaml
|
||||
|
||||
# Add and update KubeBlocks repository
|
||||
helm repo add kubeblocks $HELM_REPO
|
||||
helm repo update
|
||||
|
||||
# Install KubeBlocks
|
||||
helm install kubeblocks kubeblocks/kubeblocks --namespace kb-system --create-namespace --version=${KB_VERSION}
|
||||
|
||||
# Verify installation
|
||||
print "Waiting for KubeBlocks to be ready..."
|
||||
kubectl wait --for=condition=ready pods -l app.kubernetes.io/instance=kubeblocks -n kb-system --timeout=120s
|
||||
print_success "KubeBlocks installation complete!"
|
||||
}
|
||||
|
||||
# Check if KubeBlocks is already installed
|
||||
print "Checking if KubeBlocks is already installed in kb-system namespace..."
|
||||
if kubectl get namespace kb-system &>/dev/null && kubectl get deployment kubeblocks -n kb-system &>/dev/null; then
|
||||
print_success "KubeBlocks is already installed in kb-system namespace."
|
||||
else
|
||||
# Call the function to install KubeBlocks
|
||||
install_kubeblocks
|
||||
fi
|
||||
Reference in New Issue
Block a user