diff --git a/k8s/charts/seaweedfs/templates/filer-statefulset.yaml b/k8s/charts/seaweedfs/templates/filer-statefulset.yaml index 1ec5df1c2..0bd0d9e2e 100644 --- a/k8s/charts/seaweedfs/templates/filer-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/filer-statefulset.yaml @@ -162,6 +162,9 @@ spec: {{- if .Values.filer.metricsPort }} -metricsPort={{ .Values.filer.metricsPort }} \ {{- end }} + {{- if .Values.filer.metricsIp }} + -metricsIp={{ .Values.filer.metricsIp }} \ + {{- end }} {{- if .Values.filer.redirectOnRead }} -redirectOnRead \ {{- end }} @@ -219,7 +222,10 @@ spec: -s3.auditLogConfig=/etc/sw/filer_s3_auditLogConfig.json \ {{- end }} {{- end }} - -master={{ if .Values.global.masterServer }}{{.Values.global.masterServer}}{{ else }}{{ 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 }}{{ end }} + -master={{ if .Values.global.masterServer }}{{.Values.global.masterServer}}{{ else }}{{ 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 }}{{ end }} \ + {{- range .Values.filer.extraArgs }} + {{ . }} \ + {{- end }} volumeMounts: {{- if (or (eq .Values.filer.logs.type "hostPath") (eq .Values.filer.logs.type "persistentVolumeClaim") (eq .Values.filer.logs.type "emptyDir")) }} - name: seaweedfs-filer-log-volume diff --git a/k8s/charts/seaweedfs/templates/master-statefulset.yaml b/k8s/charts/seaweedfs/templates/master-statefulset.yaml index fd3e462cb..2a8921f47 100644 --- a/k8s/charts/seaweedfs/templates/master-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/master-statefulset.yaml @@ -157,6 +157,9 @@ spec: {{- if .Values.master.metricsPort }} -metricsPort={{ .Values.master.metricsPort }} \ {{- end }} + {{- if .Values.master.metricsIp }} + -metricsIp={{ .Values.master.metricsIp }} \ + {{- end }} -volumeSizeLimitMB={{ .Values.master.volumeSizeLimitMB }} \ {{- if .Values.master.disableHttp }} -disableHttp \ @@ -168,7 +171,10 @@ spec: -garbageThreshold={{ .Values.master.garbageThreshold }} \ {{- end }} -ip=${POD_NAME}.${SEAWEEDFS_FULLNAME}-master.{{ .Release.Namespace }} \ - -peers={{ 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 }} + -peers={{ 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 }} \ + {{- range .Values.master.extraArgs }} + {{ . }} \ + {{- end }} volumeMounts: - name : data-{{ .Release.Namespace }} mountPath: /data diff --git a/k8s/charts/seaweedfs/templates/volume-statefulset.yaml b/k8s/charts/seaweedfs/templates/volume-statefulset.yaml index d8868c802..924125607 100644 --- a/k8s/charts/seaweedfs/templates/volume-statefulset.yaml +++ b/k8s/charts/seaweedfs/templates/volume-statefulset.yaml @@ -150,6 +150,9 @@ spec: {{- if .Values.volume.metricsPort }} -metricsPort={{ .Values.volume.metricsPort }} \ {{- end }} + {{- if .Values.volume.metricsIp }} + -metricsIp={{ .Values.volume.metricsIp }} \ + {{- end }} -dir {{range $index, $dir := .Values.volume.dataDirs }}{{if ne $index 0}},{{end}}/{{$dir.name}}{{end}} \ {{- if .Values.volume.idx }} -dir.idx=/idx \ @@ -183,7 +186,10 @@ spec: -minFreeSpacePercent={{ .Values.volume.minFreeSpacePercent }} \ -ip=${POD_NAME}.${SEAWEEDFS_FULLNAME}-volume.{{ .Release.Namespace }} \ -compactionMBps={{ .Values.volume.compactionMBps }} \ - -mserver={{ if .Values.global.masterServer }}{{.Values.global.masterServer}}{{ else }}{{ 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 }}{{ end }} + -mserver={{ if .Values.global.masterServer }}{{.Values.global.masterServer}}{{ else }}{{ 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 }}{{ end }} \ + {{- range .Values.volume.extraArgs }} + {{ . }} \ + {{- end }} volumeMounts: {{- range $dir := .Values.volume.dataDirs }} {{- if not ( eq $dir.type "custom" ) }} diff --git a/k8s/charts/seaweedfs/values.yaml b/k8s/charts/seaweedfs/values.yaml index 2d12b8ff5..23b1d2f08 100644 --- a/k8s/charts/seaweedfs/values.yaml +++ b/k8s/charts/seaweedfs/values.yaml @@ -56,6 +56,7 @@ master: port: 9333 grpcPort: 19333 metricsPort: 9327 + metricsIp: "" # Metrics listen IP. If empty, defaults to ipBind ipBind: "0.0.0.0" volumePreallocate: false volumeSizeLimitMB: 1000 @@ -75,6 +76,13 @@ master: # Disable http request, only gRpc operations are allowed disableHttp: false + # Custom command line arguments to add to the master command + # Example to fix IPv6 metrics connectivity issues: + # extraArgs: ["-metricsIp", "0.0.0.0"] + # Example with multiple args: + # extraArgs: ["-customFlag", "value", "-anotherFlag"] + extraArgs: [] + config: |- # Enter any extra configuration for master.toml here. # It may be a multi-line string. @@ -277,6 +285,7 @@ volume: port: 8080 grpcPort: 18080 metricsPort: 9327 + metricsIp: "" # Metrics listen IP. If empty, defaults to ipBind ipBind: "0.0.0.0" replicas: 1 loggingOverrideLevel: null @@ -289,6 +298,13 @@ volume: # minimum free disk space(in percents). If free disk space lower this value - all volumes marks as ReadOnly minFreeSpacePercent: 7 + # Custom command line arguments to add to the volume command + # Example to fix IPv6 metrics connectivity issues: + # extraArgs: ["-metricsIp", "0.0.0.0"] + # Example with multiple args: + # extraArgs: ["-customFlag", "value", "-anotherFlag"] + extraArgs: [] + # For each data disk you may use ANY storage-class, example with local-path-provisioner # Annotations are optional. # dataDirs: @@ -520,6 +536,7 @@ filer: port: 8888 grpcPort: 18888 metricsPort: 9327 + metricsIp: "" # Metrics listen IP. If empty, defaults to bindIp loggingOverrideLevel: null filerGroup: "" # prefer to read and write to volumes in this data center (not set by default) @@ -547,6 +564,13 @@ filer: # Disable http request, only gRpc operations are allowed disableHttp: false + # Custom command line arguments to add to the filer command + # Example to fix IPv6 metrics connectivity issues: + # extraArgs: ["-metricsIp", "0.0.0.0"] + # Example with multiple args: + # extraArgs: ["-customFlag", "value", "-anotherFlag"] + extraArgs: [] + # Add a custom notification.toml to configure filer notifications # Example: # notificationConfig: |-