From abe029a3f19972354a3c0a4118efcabb9fa9cc94 Mon Sep 17 00:00:00 2001 From: yandongxiao Date: Tue, 16 Jan 2024 17:05:48 +0800 Subject: [PATCH] [Enhancement] Remove PVC when storageSize is zero Signed-off-by: yandongxiao --- .../charts/starrocks/templates/starrockscluster.yaml | 12 ++++++------ pkg/k8sutils/templates/pod/mount.go | 5 +++++ pkg/k8sutils/templates/statefulset/spec.go | 5 +++++ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/helm-charts/charts/kube-starrocks/charts/starrocks/templates/starrockscluster.yaml b/helm-charts/charts/kube-starrocks/charts/starrocks/templates/starrockscluster.yaml index 0fb649b3..2f8508b3 100644 --- a/helm-charts/charts/kube-starrocks/charts/starrocks/templates/starrockscluster.yaml +++ b/helm-charts/charts/kube-starrocks/charts/starrocks/templates/starrockscluster.yaml @@ -151,11 +151,11 @@ spec: {{- if .Values.starrocksFESpec.storageSpec.name }} - name: {{ .Values.starrocksFESpec.storageSpec.name }}{{ template "starrockscluster.fe.meta.suffix" . }} storageClassName: {{ .Values.starrocksFESpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksFESpec.storageSpec.storageSize }} + storageSize: "{{ .Values.starrocksFESpec.storageSpec.storageSize }}" mountPath: {{ template "starrockscluster.fe.meta.path" . }} - name: {{ .Values.starrocksFESpec.storageSpec.name }}{{ template "starrockscluster.fe.log.suffix" . }} storageClassName: {{ .Values.starrocksFESpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksFESpec.storageSpec.logStorageSize }} + storageSize: "{{ .Values.starrocksFESpec.storageSpec.logStorageSize }}" mountPath: {{ template "starrockscluster.fe.log.path" . }} {{- end }} {{- if .Values.starrocksFESpec.emptyDirs }} @@ -308,11 +308,11 @@ spec: storageVolumes: - name: {{ .Values.starrocksBeSpec.storageSpec.name }}{{template "starrockscluster.be.data.suffix" . }} storageClassName: {{ .Values.starrocksBeSpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksBeSpec.storageSpec.storageSize }} + storageSize: "{{ .Values.starrocksBeSpec.storageSpec.storageSize }}" mountPath: {{template "starrockscluster.be.data.path" . }} - name: {{ .Values.starrocksBeSpec.storageSpec.name }}{{template "starrockscluster.be.log.suffix" . }} storageClassName: {{ .Values.starrocksBeSpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksBeSpec.storageSpec.logStorageSize }} + storageSize: "{{ .Values.starrocksBeSpec.storageSpec.logStorageSize }}" mountPath: {{template "starrockscluster.be.log.path" . }} {{- end }} {{- if .Values.starrocksBeSpec.emptyDirs }} @@ -472,11 +472,11 @@ spec: {{- if .Values.starrocksCnSpec.storageSpec.name }} - name: {{ .Values.starrocksCnSpec.storageSpec.name }}{{template "starrockscluster.cn.data.suffix" . }} storageClassName: {{ .Values.starrocksCnSpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksCnSpec.storageSpec.storageSize }} + storageSize: "{{ .Values.starrocksCnSpec.storageSpec.storageSize }}" mountPath: {{template "starrockscluster.cn.data.path" . }} - name: {{ .Values.starrocksCnSpec.storageSpec.name }}{{template "starrockscluster.cn.log.suffix" . }} storageClassName: {{ .Values.starrocksCnSpec.storageSpec.storageClassName }} - storageSize: {{ .Values.starrocksCnSpec.storageSpec.logStorageSize }} + storageSize: "{{ .Values.starrocksCnSpec.storageSpec.logStorageSize }}" mountPath: {{template "starrockscluster.cn.log.path" . }} {{- end }} {{- if .Values.starrocksCnSpec.emptyDirs }} diff --git a/pkg/k8sutils/templates/pod/mount.go b/pkg/k8sutils/templates/pod/mount.go index fb589685..7f25cd7e 100644 --- a/pkg/k8sutils/templates/pod/mount.go +++ b/pkg/k8sutils/templates/pod/mount.go @@ -1,6 +1,8 @@ package pod import ( + "strings" + corev1 "k8s.io/api/core/v1" v1 "github.com/StarRocks/starrocks-kubernetes-operator/pkg/apis/starrocks/v1" @@ -23,6 +25,9 @@ func MountStorageVolumes(spec v1.SpecInterface) ([]corev1.Volume, []corev1.Volum var volumeMounts []corev1.VolumeMount vexist := make(map[string]bool) for _, sv := range spec.GetStorageVolumes() { + if strings.HasPrefix(sv.StorageSize, "0") { + continue + } vexist[sv.MountPath] = true if IsSpecialStorageClass(sv.StorageClassName) { volumes, volumeMounts = MountEmptyDirVolume(volumes, volumeMounts, sv.Name, sv.MountPath, sv.SubPath) diff --git a/pkg/k8sutils/templates/statefulset/spec.go b/pkg/k8sutils/templates/statefulset/spec.go index 81843310..19a714bb 100644 --- a/pkg/k8sutils/templates/statefulset/spec.go +++ b/pkg/k8sutils/templates/statefulset/spec.go @@ -15,6 +15,8 @@ package statefulset import ( + "strings" + appv1 "k8s.io/api/apps/v1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" @@ -36,6 +38,9 @@ func PVCList(volumes []v1.StorageVolume) []corev1.PersistentVolumeClaim { if pod.IsSpecialStorageClass(vm.StorageClassName) { continue } + if strings.HasPrefix(vm.StorageSize, "0") { + continue + } pvc := corev1.PersistentVolumeClaim{ ObjectMeta: metav1.ObjectMeta{Name: vm.Name}, Spec: corev1.PersistentVolumeClaimSpec{