feat(clickhouse): support retaining volumes on uninstall
This commit is contained in:
@@ -32,6 +32,7 @@ spec:
|
|||||||
templates:
|
templates:
|
||||||
volumeClaimTemplates:
|
volumeClaimTemplates:
|
||||||
- name: data-volume-template
|
- name: data-volume-template
|
||||||
|
reclaimPolicy: Retain
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
@@ -39,6 +40,7 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: 50Gi
|
storage: 50Gi
|
||||||
- name: log-volume-template
|
- name: log-volume-template
|
||||||
|
reclaimPolicy: Retain
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ setup-ingress host:
|
|||||||
kubectl apply -n ${CLICKHOUSE_NAMESPACE} -f clickhouse-ingress.yaml
|
kubectl apply -n ${CLICKHOUSE_NAMESPACE} -f clickhouse-ingress.yaml
|
||||||
echo "ClickHouse Ingress configured successfully"
|
echo "ClickHouse Ingress configured successfully"
|
||||||
|
|
||||||
# Uninstall ClickHouse
|
# Uninstall ClickHouse (delete_volumes='false' to preserve PVCs and namespace)
|
||||||
uninstall:
|
uninstall delete-volumes='true':
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
echo "Uninstalling ClickHouse..."
|
echo "Uninstalling ClickHouse..."
|
||||||
@@ -146,7 +146,7 @@ uninstall:
|
|||||||
-n ${CLICKHOUSE_NAMESPACE} &>/dev/null; then
|
-n ${CLICKHOUSE_NAMESPACE} &>/dev/null; then
|
||||||
echo "Deleting ClickHouseInstallation resources..."
|
echo "Deleting ClickHouseInstallation resources..."
|
||||||
kubectl delete clickhouseinstallations.clickhouse.altinity.com --all \
|
kubectl delete clickhouseinstallations.clickhouse.altinity.com --all \
|
||||||
-n ${CLICKHOUSE_NAMESPACE} --timeout=60s --ignore-not-found || {
|
-n ${CLICKHOUSE_NAMESPACE} --timeout=90s --ignore-not-found || {
|
||||||
echo "Graceful deletion timed out, forcing finalizer removal..."
|
echo "Graceful deletion timed out, forcing finalizer removal..."
|
||||||
for chi in $(kubectl get clickhouseinstallations.clickhouse.altinity.com \
|
for chi in $(kubectl get clickhouseinstallations.clickhouse.altinity.com \
|
||||||
-n ${CLICKHOUSE_NAMESPACE} -o name 2>/dev/null); do
|
-n ${CLICKHOUSE_NAMESPACE} -o name 2>/dev/null); do
|
||||||
@@ -158,7 +158,13 @@ uninstall:
|
|||||||
helm uninstall clickhouse-operator -n ${CLICKHOUSE_NAMESPACE} --wait --ignore-not-found
|
helm uninstall clickhouse-operator -n ${CLICKHOUSE_NAMESPACE} --wait --ignore-not-found
|
||||||
just uninstall-zookeeper
|
just uninstall-zookeeper
|
||||||
just delete-credentials-secret
|
just delete-credentials-secret
|
||||||
just delete-namespace
|
if [ "{{ delete-volumes }}" = "true" ]; then
|
||||||
|
just delete-namespace
|
||||||
|
else
|
||||||
|
echo "Keeping namespace and PVCs for data preservation"
|
||||||
|
echo "PVCs in namespace '${CLICKHOUSE_NAMESPACE}':"
|
||||||
|
kubectl get pvc -n ${CLICKHOUSE_NAMESPACE}
|
||||||
|
fi
|
||||||
echo "ClickHouse uninstalled successfully"
|
echo "ClickHouse uninstalled successfully"
|
||||||
|
|
||||||
# Get ClickHouse admin password
|
# Get ClickHouse admin password
|
||||||
|
|||||||
Reference in New Issue
Block a user