diff --git a/charts/mlrun-ce/Chart.yaml b/charts/mlrun-ce/Chart.yaml index 1a52ad3f..b91431ec 100644 --- a/charts/mlrun-ce/Chart.yaml +++ b/charts/mlrun-ce/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: mlrun-ce -version: 0.11.0-rc.30 +version: 0.11.0-rc.31 description: MLRun Open Source Stack home: https://iguazio.com icon: https://www.iguazio.com/wp-content/uploads/2019/10/Iguazio-Logo.png diff --git a/charts/mlrun-ce/templates/pipelines/services/metadata-envoy-service.yaml b/charts/mlrun-ce/templates/pipelines/services/metadata-envoy-service.yaml index 82945802..518d59f8 100644 --- a/charts/mlrun-ce/templates/pipelines/services/metadata-envoy-service.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/metadata-envoy-service.yaml @@ -16,6 +16,5 @@ spec: selector: application-crd-id: kubeflow-pipelines component: metadata-envoy - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/metadata-grpc-service.yaml b/charts/mlrun-ce/templates/pipelines/services/metadata-grpc-service.yaml index 67b8c8d8..4f4fbb43 100644 --- a/charts/mlrun-ce/templates/pipelines/services/metadata-grpc-service.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/metadata-grpc-service.yaml @@ -16,6 +16,5 @@ spec: selector: application-crd-id: kubeflow-pipelines component: metadata-grpc-server - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-ui.yaml b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-ui.yaml index 78822066..525e21da 100644 --- a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-ui.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-ui.yaml @@ -17,6 +17,5 @@ spec: selector: app: ml-pipeline-ui application-crd-id: kubeflow-pipelines - sessionAffinity: None type: {{ .Values.pipelines.service.type }} {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-visualizationserver.yaml b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-visualizationserver.yaml index 102a233f..dc22cc31 100644 --- a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-visualizationserver.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline-visualizationserver.yaml @@ -15,6 +15,5 @@ spec: selector: app: ml-pipeline-visualizationserver application-crd-id: kubeflow-pipelines - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline.yaml b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline.yaml index 19b98ed7..2f5ffb78 100644 --- a/charts/mlrun-ce/templates/pipelines/services/ml-pipeline.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/ml-pipeline.yaml @@ -22,6 +22,5 @@ spec: selector: app: ml-pipeline application-crd-id: kubeflow-pipelines - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/mysql.yaml b/charts/mlrun-ce/templates/pipelines/services/mysql.yaml index 90b78f12..f066a4d9 100644 --- a/charts/mlrun-ce/templates/pipelines/services/mysql.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/mysql.yaml @@ -14,6 +14,5 @@ spec: selector: app: mysql application-crd-id: kubeflow-pipelines - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/pipelines/services/workflow-controller-metrics.yaml b/charts/mlrun-ce/templates/pipelines/services/workflow-controller-metrics.yaml index af4dd421..6755a464 100644 --- a/charts/mlrun-ce/templates/pipelines/services/workflow-controller-metrics.yaml +++ b/charts/mlrun-ce/templates/pipelines/services/workflow-controller-metrics.yaml @@ -20,6 +20,5 @@ spec: selector: app: workflow-controller application-crd-id: kubeflow-pipelines - sessionAffinity: None type: ClusterIP {{- end -}} diff --git a/charts/mlrun-ce/templates/seaweedfs/seaweedfs-s3-services.yaml b/charts/mlrun-ce/templates/seaweedfs/seaweedfs-s3-services.yaml index a7a1ae29..b323ba05 100644 --- a/charts/mlrun-ce/templates/seaweedfs/seaweedfs-s3-services.yaml +++ b/charts/mlrun-ce/templates/seaweedfs/seaweedfs-s3-services.yaml @@ -1,20 +1,22 @@ {{- if .Values.seaweedfs.enabled }} +{{- if .Values.seaweedfs.s3Service }} +--- # ============================================================================= -# SeaweedFS S3 API Service -# This service exposes the SeaweedFS S3 API for external access, providing -# S3-compatible storage access for MLRun, Jupyter, and other clients +# SeaweedFS S3 Service +# Named "seaweedfs-s3" to match the cluster-internal hostname used by MLRun, +# KFP, and Jupyter helpers (mlrun-ce.s3.service.url / mlrun-ce.s3.service.host). +# In allInOne mode the S3 gateway runs inside the all-in-one pod; this service +# replaces the chart's native seaweedfs-s3 service (only created when the +# dedicated s3 component is enabled, which we keep disabled to save a pod). # ============================================================================= - -{{- if and .Values.seaweedfs.s3 .Values.seaweedfs.s3.enabled .Values.seaweedfs.s3Service }} ---- apiVersion: v1 kind: Service metadata: - name: seaweedfs-s3-api + name: seaweedfs-s3 namespace: {{ .Release.Namespace }} labels: {{- include "mlrun-ce.common.labels" . | nindent 4 }} - app.kubernetes.io/component: seaweedfs-s3-api + app.kubernetes.io/component: seaweedfs-s3 spec: type: {{ .Values.seaweedfs.s3Service.type | default "NodePort" }} ports: @@ -27,7 +29,6 @@ spec: protocol: TCP selector: app.kubernetes.io/name: seaweedfs - app.kubernetes.io/component: s3 + app.kubernetes.io/component: seaweedfs-all-in-one {{- end }} - {{- end }} diff --git a/charts/mlrun-ce/values.yaml b/charts/mlrun-ce/values.yaml index a031dc4b..cb264743 100644 --- a/charts/mlrun-ce/values.yaml +++ b/charts/mlrun-ce/values.yaml @@ -323,68 +323,49 @@ seaweedfs: # Enabling this creates a ClusterRole, which conflicts in multi-NS deployments. createClusterRole: false - # Master server - metadata management + # Disable individual component pods - allInOne runs everything in a single deployment master: - port: 9333 - # Storage: use PVC instead of default hostPath - data: - type: "persistentVolumeClaim" - size: "1Gi" - logs: - type: "emptyDir" - resources: - requests: - memory: 128Mi - - # Volume server - actual data storage + enabled: false volume: - port: 8080 - # Storage: use PVC instead of default hostPath - dataDirs: - - name: data - type: "persistentVolumeClaim" - size: "10Gi" - maxVolumes: 0 - logs: - type: "emptyDir" - resources: - requests: - memory: 256Mi - - # Filer server - file system interface + enabled: false filer: - port: 8888 - # Storage: use PVC instead of default hostPath - data: - type: "persistentVolumeClaim" - size: "1Gi" - logs: - type: "emptyDir" - # Filer's embedded S3 gateway - s3: - enabled: true - port: 8333 - resources: - requests: - memory: 128Mi + enabled: false - # S3 API gateway - MLRun connects to this endpoint + # S3 auth config - enableAuth gates the seaweedfs-s3-config Secret creation in + # templates/seaweedfs/seaweedfs-s3-config.yaml even though the dedicated s3 pod + # is disabled. The secret is consumed by allInOne.s3.existingConfigSecret below. s3: - enabled: true # Default is false port: 8333 - enableAuth: true # Default is false - # SeaweedFS S3 IAM configuration secret - defines authorized users/credentials - # and their permissions for S3 API access (Admin, Read, List, Write, etc.) - # Created by templates/seaweedfs/seaweedfs-s3-config.yaml using s3.accessKey/secretKey - existingConfigSecret: "seaweedfs-s3-config" + enableAuth: true + + # Single-pod mode: master + volume + filer + S3 gateway in one deployment. + # Reduces from 4 component pods down to 1, cutting CPU/memory footprint significantly. + allInOne: + enabled: true + s3: + enabled: true + port: 8333 + enableAuth: true + # IAM config secret created by templates/seaweedfs/seaweedfs-s3-config.yaml + existingConfigSecret: "seaweedfs-s3-config" + # Storage: use PVC instead of default emptyDir + data: + type: "persistentVolumeClaim" + size: "10Gi" resources: requests: - memory: 128Mi + memory: 256Mi + cpu: 100m + limits: + memory: 2Gi # Admin server - user and policy management UI admin: - enabled: true # Default is false + enabled: true port: 23646 + # Point admin at the allInOne service since the standalone master StatefulSet + # is disabled. Without this the chart cannot auto-discover the master address. + masters: "seaweedfs-all-in-one:9333" secret: adminUser: "seaweed" adminPassword: "seaweed123" @@ -396,6 +377,10 @@ seaweedfs: resources: requests: memory: 64Mi + cpu: 25m + limits: + memory: 128Mi + cpu: 1 # Custom NodePort service for Admin UI external access adminService: @@ -411,7 +396,8 @@ seaweedfs: annotations: {} tls: [] - # Custom NodePort service for S3 API external access + # Custom NodePort service for S3 API external access. + # Also provides the internal "seaweedfs-s3" cluster alias used by MLRun/KFP helpers. s3Service: type: NodePort port: 8333