diff --git a/k8s/charts/seaweedfs/README.md b/k8s/charts/seaweedfs/README.md index f75c4feae..210ff7696 100644 --- a/k8s/charts/seaweedfs/README.md +++ b/k8s/charts/seaweedfs/README.md @@ -220,10 +220,12 @@ worker: adminServer: "seaweedfs-admin.seaweedfs:33646" # Workers need storage for task execution + # Note: Workers use Deployment, so they can't use dynamically provisioned PVCs + # Use emptyDir, hostPath, or existingClaim with a pre-provisioned PVC data: - type: "persistentVolumeClaim" - size: "50Gi" # Adjust based on volume size - storageClass: "your-storage-class" + type: "emptyDir" # Or "hostPath" or "existingClaim" + hostPathPrefix: /storage # For hostPath + # claimName: "worker-pvc" # For existingClaim with pre-provisioned PVC # Resource limits for worker pods resources: diff --git a/k8s/charts/seaweedfs/templates/admin/admin-servicemonitor.yaml b/k8s/charts/seaweedfs/templates/admin/admin-servicemonitor.yaml index 510044a62..9b3d0d718 100644 --- a/k8s/charts/seaweedfs/templates/admin/admin-servicemonitor.yaml +++ b/k8s/charts/seaweedfs/templates/admin/admin-servicemonitor.yaml @@ -15,9 +15,9 @@ metadata: {{- with .Values.global.monitoring.additionalLabels }} {{- toYaml . | nindent 4 }} {{- end }} -{{- if .Values.admin.annotations }} +{{- with .Values.admin.serviceMonitor.annotations }} annotations: - {{- toYaml .Values.admin.annotations | nindent 4 }} + {{- toYaml . | nindent 4 }} {{- end }} spec: endpoints: diff --git a/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml b/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml index 4e922ced3..236ec919a 100644 --- a/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/admin/admin-statefulset.yaml @@ -142,14 +142,14 @@ spec: -adminPassword={{ .Values.admin.adminPassword }} \ {{- end }} {{- if .Values.admin.masters }} - -masters={{ .Values.admin.masters }} \ + -masters={{ .Values.admin.masters }}{{- if .Values.admin.extraArgs }} \{{ end }} {{- else if .Values.global.masterServer }} - -masters={{ .Values.global.masterServer }} \ + -masters={{ .Values.global.masterServer }}{{- if .Values.admin.extraArgs }} \{{ end }} {{- else }} - -masters={{ range $index := until (.Values.master.replicas | int) }}${SEAWEEDFS_FULLNAME}-master-{{ $index }}.${SEAWEEDFS_FULLNAME}-master.{{ $.Release.Namespace }}:{{ $.Values.master.port }}{{ if lt $index (sub ($.Values.master.replicas | int) 1) }},{{ end }}{{ end }} \ + -masters={{ range $index := until (.Values.master.replicas | int) }}${SEAWEEDFS_FULLNAME}-master-{{ $index }}.${SEAWEEDFS_FULLNAME}-master.{{ $.Release.Namespace }}:{{ $.Values.master.port }}{{ if lt $index (sub ($.Values.master.replicas | int) 1) }},{{ end }}{{ end }}{{- if .Values.admin.extraArgs }} \{{ end }} {{- end }} - {{- range .Values.admin.extraArgs }} - {{ . }} \ + {{- range $index, $arg := .Values.admin.extraArgs }} + {{ $arg }}{{- if lt $index (sub (len $.Values.admin.extraArgs) 1) }} \{{ end }} {{- end }} volumeMounts: {{- if or (eq .Values.admin.data.type "hostPath") (eq .Values.admin.data.type "persistentVolumeClaim") (eq .Values.admin.data.type "emptyDir") (eq .Values.admin.data.type "existingClaim") }} diff --git a/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml b/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml index 00994d0ec..39cd00aed 100644 --- a/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml +++ b/k8s/charts/seaweedfs/templates/worker/worker-deployment.yaml @@ -135,9 +135,9 @@ spec: {{- end }} -capabilities={{ .Values.worker.capabilities }} \ -maxConcurrent={{ .Values.worker.maxConcurrent }} \ - -workingDir={{ .Values.worker.workingDir }} \ - {{- range .Values.worker.extraArgs }} - {{ . }} \ + -workingDir={{ .Values.worker.workingDir }}{{- if .Values.worker.extraArgs }} \{{ end }} + {{- range $index, $arg := .Values.worker.extraArgs }} + {{ $arg }}{{- if lt $index (sub (len $.Values.worker.extraArgs) 1) }} \{{ end }} {{- end }} volumeMounts: {{- if or (eq .Values.worker.data.type "hostPath") (eq .Values.worker.data.type "emptyDir") (eq .Values.worker.data.type "existingClaim") }} diff --git a/k8s/charts/seaweedfs/templates/worker/worker-servicemonitor.yaml b/k8s/charts/seaweedfs/templates/worker/worker-servicemonitor.yaml index 9a99d3fd9..681128ee4 100644 --- a/k8s/charts/seaweedfs/templates/worker/worker-servicemonitor.yaml +++ b/k8s/charts/seaweedfs/templates/worker/worker-servicemonitor.yaml @@ -15,9 +15,9 @@ metadata: {{- with .Values.global.monitoring.additionalLabels }} {{- toYaml . | nindent 4 }} {{- end }} -{{- if .Values.worker.annotations }} +{{- with .Values.worker.serviceMonitor.annotations }} annotations: - {{- toYaml .Values.worker.annotations | nindent 4 }} + {{- toYaml . | nindent 4 }} {{- end }} spec: endpoints: diff --git a/k8s/charts/seaweedfs/values.yaml b/k8s/charts/seaweedfs/values.yaml index 7ebe3617c..9837bcc1f 100644 --- a/k8s/charts/seaweedfs/values.yaml +++ b/k8s/charts/seaweedfs/values.yaml @@ -1192,6 +1192,10 @@ admin: type: ClusterIP annotations: {} + # ServiceMonitor annotations (separate from pod/deployment annotations) + serviceMonitor: + annotations: {} + worker: enabled: false imageOverride: null @@ -1220,21 +1224,17 @@ worker: extraArgs: [] # Storage configuration for working directory + # Note: Workers use Deployment, so use "emptyDir", "hostPath", or "existingClaim" + # Do NOT use "persistentVolumeClaim" - use "existingClaim" with pre-provisioned PVC instead data: - type: "emptyDir" # Options: "hostPath", "persistentVolumeClaim", "emptyDir", "existingClaim" - size: "50Gi" # Workers need space for vacuum, balance, etc. - storageClass: "" + type: "emptyDir" # Options: "hostPath", "emptyDir", "existingClaim" hostPathPrefix: /storage - claimName: "" - annotations: {} + claimName: "" # For existingClaim type logs: - type: "emptyDir" # Options: "hostPath", "persistentVolumeClaim", "emptyDir", "existingClaim" - size: "5Gi" - storageClass: "" + type: "emptyDir" # Options: "hostPath", "emptyDir", "existingClaim" hostPathPrefix: /storage - claimName: "" - annotations: {} + claimName: "" # For existingClaim type # Additional resources sidecars: [] @@ -1260,6 +1260,10 @@ worker: extraEnvironmentVars: {} + # ServiceMonitor annotations (separate from pod/deployment annotations) + serviceMonitor: + annotations: {} + # All-in-one deployment configuration allInOne: enabled: false