From c858fa727c49ba5b74d9b5492cd15614fe0eec1d Mon Sep 17 00:00:00 2001 From: Sherif Akoush Date: Fri, 11 Oct 2024 16:17:28 +0100 Subject: [PATCH] release 2.8.4 (#71) --- helm-charts/seldon-core-v2-crds/Chart.yaml | 4 +- .../templates/seldon-v2-crds.yaml | 13 ++++ helm-charts/seldon-core-v2-runtime/Chart.yaml | 4 +- .../templates/seldon-runtime.yaml | 6 ++ helm-charts/seldon-core-v2-servers/Chart.yaml | 4 +- .../templates/seldon-v2-servers.yaml | 10 +++ helm-charts/seldon-core-v2-setup/Chart.yaml | 4 +- .../templates/seldon-v2-components.yaml | 68 +++++++++++++++++-- helm-charts/seldon-core-v2-setup/values.yaml | 31 ++++++--- 9 files changed, 121 insertions(+), 23 deletions(-) diff --git a/helm-charts/seldon-core-v2-crds/Chart.yaml b/helm-charts/seldon-core-v2-crds/Chart.yaml index 4ebc62e..0ad047e 100644 --- a/helm-charts/seldon-core-v2-crds/Chart.yaml +++ b/helm-charts/seldon-core-v2-crds/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v1 -appVersion: 2.8.3 +appVersion: 2.8.4 description: Seldon Core V2 CRDs keywords: - kubernetes - machine-learning - mlops name: seldon-core-v2-crds -version: 2.8.3 +version: 2.8.4 diff --git a/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml b/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml index c6e2f2e..1441c21 100644 --- a/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml +++ b/helm-charts/seldon-core-v2-crds/templates/seldon-v2-crds.yaml @@ -341,12 +341,17 @@ spec: description: Total number of replicas targeted by this model format: int32 type: integer + selector: + type: string + required: + - selector type: object type: object served: true storage: true subresources: scale: + labelSelectorPath: .status.selector specReplicasPath: .spec.replicas statusReplicasPath: .status.replicas status: {} @@ -636,6 +641,14 @@ spec: components: items: properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object name: type: string podSpec: diff --git a/helm-charts/seldon-core-v2-runtime/Chart.yaml b/helm-charts/seldon-core-v2-runtime/Chart.yaml index d4ce9cb..4ae43b0 100644 --- a/helm-charts/seldon-core-v2-runtime/Chart.yaml +++ b/helm-charts/seldon-core-v2-runtime/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v1 -appVersion: 2.8.3 +appVersion: 2.8.4 description: Seldon Core V2 Runtime keywords: - kubernetes - machine-learning - mlops name: seldon-core-v2-runtime -version: 2.8.3 +version: 2.8.4 diff --git a/helm-charts/seldon-core-v2-runtime/templates/seldon-runtime.yaml b/helm-charts/seldon-core-v2-runtime/templates/seldon-runtime.yaml index 7d7c4d7..3bd49dc 100644 --- a/helm-charts/seldon-core-v2-runtime/templates/seldon-runtime.yaml +++ b/helm-charts/seldon-core-v2-runtime/templates/seldon-runtime.yaml @@ -10,22 +10,28 @@ spec: - name: hodometer disable: {{ .Values.hodometer.disable }} replicas: {{ .Values.hodometer.replicas }} + podSpec: {{ toJson .Values.hodometer.podSpec }} - name: seldon-scheduler disable: {{ .Values.scheduler.disable }} serviceType: {{ .Values.scheduler.serviceType }} + podSpec: {{ toJson .Values.scheduler.podSpec }} - name: seldon-envoy disable: {{ .Values.envoy.disable }} replicas: {{ .Values.envoy.replicas }} serviceType: {{ .Values.envoy.serviceType }} + podSpec: {{ toJson .Values.envoy.podSpec }} - name: seldon-dataflow-engine disable: {{ .Values.dataflow.disable }} replicas: {{ .Values.dataflow.replicas }} + podSpec: {{ toJson .Values.dataflow.podSpec }} - name: seldon-modelgateway disable: {{ .Values.modelgateway.disable }} replicas: {{ .Values.modelgateway.replicas }} + podSpec: {{ toJson .Values.modelgateway.podSpec }} - name: seldon-pipelinegateway disable: {{ .Values.pipelinegateway.disable }} replicas: {{ .Values.pipelinegateway.replicas }} + podSpec: {{ toJson .Values.pipelinegateway.podSpec }} config: agentConfig: rclone: diff --git a/helm-charts/seldon-core-v2-servers/Chart.yaml b/helm-charts/seldon-core-v2-servers/Chart.yaml index 14a0e7b..7d467b4 100644 --- a/helm-charts/seldon-core-v2-servers/Chart.yaml +++ b/helm-charts/seldon-core-v2-servers/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v1 -appVersion: 2.8.3 +appVersion: 2.8.4 description: Seldon Core V2 Servers keywords: - kubernetes - machine-learning - mlops name: seldon-core-v2-servers -version: 2.8.3 +version: 2.8.4 diff --git a/helm-charts/seldon-core-v2-servers/templates/seldon-v2-servers.yaml b/helm-charts/seldon-core-v2-servers/templates/seldon-v2-servers.yaml index be2c07e..66441c0 100644 --- a/helm-charts/seldon-core-v2-servers/templates/seldon-v2-servers.yaml +++ b/helm-charts/seldon-core-v2-servers/templates/seldon-v2-servers.yaml @@ -1,17 +1,27 @@ apiVersion: mlops.seldon.io/v1alpha1 kind: Server metadata: + annotations: + {{ .Values.mlserver.annotations | toYaml }} + labels: + {{ .Values.mlserver.labels | toYaml }} name: mlserver namespace: '{{ .Release.Namespace }}' spec: + podSpec: {{ toJson .Values.mlserver.podSpec }} replicas: {{ .Values.mlserver.replicas }} serverConfig: mlserver --- apiVersion: mlops.seldon.io/v1alpha1 kind: Server metadata: + annotations: + {{ .Values.triton.annotations | toYaml }} + labels: + {{ .Values.triton.labels | toYaml }} name: triton namespace: '{{ .Release.Namespace }}' spec: + podSpec: {{ toJson .Values.triton.podSpec }} replicas: {{ .Values.triton.replicas }} serverConfig: triton diff --git a/helm-charts/seldon-core-v2-setup/Chart.yaml b/helm-charts/seldon-core-v2-setup/Chart.yaml index 49c0fbb..af93871 100644 --- a/helm-charts/seldon-core-v2-setup/Chart.yaml +++ b/helm-charts/seldon-core-v2-setup/Chart.yaml @@ -1,9 +1,9 @@ apiVersion: v1 -appVersion: 2.8.3 +appVersion: 2.8.4 description: Seldon Core V2 Setup keywords: - kubernetes - machine-learning - mlops name: seldon-core-v2-setup -version: 2.8.3 +version: 2.8.4 diff --git a/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml b/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml index 7fdfb7f..a704782 100644 --- a/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml +++ b/helm-charts/seldon-core-v2-setup/templates/seldon-v2-components.yaml @@ -894,7 +894,10 @@ metadata: namespace: '{{ .Release.Namespace }}' spec: components: - - name: seldon-scheduler + - annotations: {{- toYaml .Values.scheduler.annotations | nindent + 8 }} + labels: {{- toYaml .Values.scheduler.labels | nindent 8 }} + name: seldon-scheduler podSpec: containers: - args: @@ -903,6 +906,7 @@ spec: - --db-path=/mnt/scheduler/db - --allow-plaintxt=$(ALLOW_PLAINTXT) - --kafka-config-path=/mnt/kafka/kafka.json + - --scheduler-ready-timeout-seconds=$(SCHEDULER_READY_TIMEOUT_SECONDS) command: - /bin/scheduler env: @@ -949,6 +953,8 @@ spec: value: '{{ .Values.security.envoy.ssl.downstream.server.caPath }}' - name: ENVOY_DOWNSTREAM_CLIENT_TLS_CA_LOCATION value: '{{ .Values.security.envoy.ssl.downstream.server.clientCaPath }}' + - name: SCHEDULER_READY_TIMEOUT_SECONDS + value: '{{ .Values.scheduler.schedulerReadyTimeoutSeconds }}' - name: ALLOW_PLAINTXT value: "true" - name: POD_NAMESPACE @@ -1009,7 +1015,10 @@ spec: resources: requests: storage: '{{ .Values.scheduler.resources.storage }}' - - name: seldon-pipelinegateway + - annotations: {{- toYaml .Values.pipelinegateway.annotations | nindent + 8 }} + labels: {{- toYaml .Values.pipelinegateway.labels | nindent 8 }} + name: seldon-pipelinegateway podSpec: containers: - args: @@ -1145,7 +1154,10 @@ spec: name: seldon-tracing name: tracing-config-volume replicas: 1 - - name: seldon-modelgateway + - annotations: {{- toYaml .Values.modelgateway.annotations | nindent + 8 }} + labels: {{- toYaml .Values.modelgateway.labels | nindent 8 }} + name: seldon-modelgateway podSpec: containers: - args: @@ -1263,7 +1275,10 @@ spec: name: seldon-tracing name: tracing-config-volume replicas: 1 - - name: hodometer + - annotations: {{- toYaml .Values.hodometer.annotations | nindent + 8 }} + labels: {{- toYaml .Values.hodometer.labels | nindent 8 }} + name: hodometer podSpec: containers: - env: @@ -1319,7 +1334,9 @@ spec: serviceAccountName: hodometer terminationGracePeriodSeconds: 5 replicas: 1 - - name: seldon-envoy + - annotations: {{- toYaml .Values.envoy.annotations | nindent 8 }} + labels: {{- toYaml .Values.envoy.labels | nindent 8 }} + name: seldon-envoy podSpec: containers: - env: @@ -1374,7 +1391,10 @@ spec: 8 }} terminationGracePeriodSeconds: 5 replicas: 1 - - name: seldon-dataflow-engine + - annotations: {{- toYaml .Values.dataflow.annotations | nindent 8 + }} + labels: {{- toYaml .Values.dataflow.labels | nindent 8 }} + name: seldon-dataflow-engine podSpec: containers: - env: @@ -1539,6 +1559,24 @@ spec: value: '{{ .Values.serverConfig.agent.modelInactiveSecondsThreshold }}' - name: SELDON_SCALING_STATS_PERIOD_SECONDS value: '{{ .Values.serverConfig.agent.scalingStatsPeriodSeconds }}' + - name: SELDON_MAX_TIME_READY_SUB_SERVICE_AFTER_START_SECONDS + value: '{{ .Values.serverConfig.agent.maxElapsedTimeReadySubServiceAfterStartSeconds + }}' + - name: SELDON_MAX_ELAPSED_TIME_READY_SUB_SERVICE_BEFORE_START_MINUTES + value: '{{ .Values.serverConfig.agent.maxElapsedTimeReadySubServiceBeforeStartMinutes + }}' + - name: SELDON_PERIOD_READY_SUB_SERVICE_SECONDS + value: '{{ .Values.serverConfig.agent.periodReadySubServiceSeconds }}' + - name: SELDON_MAX_LOAD_ELAPSED_TIME_MINUTES + value: '{{ .Values.serverConfig.agent.maxLoadElapsedTimeMinutes }}' + - name: SELDON_MAX_UNLOAD_ELAPSED_TIME_MINUTES + value: '{{ .Values.serverConfig.agent.maxUnloadElapsedTimeMinutes }}' + - name: SELDON_MAX_LOAD_RETRY_COUNT + value: '{{ .Values.serverConfig.agent.maxLoadRetryCount }}' + - name: SELDON_MAX_UNLOAD_RETRY_COUNT + value: '{{ .Values.serverConfig.agent.maxUnloadRetryCount }}' + - name: SELDON_UNLOAD_GRACE_PERIOD_SECONDS + value: '{{ .Values.serverConfig.agent.unloadGracePeriodSeconds }}' - name: SELDON_OVERCOMMIT_PERCENTAGE value: '{{ .Values.serverConfig.agent.overcommitPercentage }}' - name: CONTROL_PLANE_SECURITY_PROTOCOL @@ -1787,6 +1825,24 @@ spec: value: '{{ .Values.serverConfig.agent.modelInactiveSecondsThreshold }}' - name: SELDON_SCALING_STATS_PERIOD_SECONDS value: '{{ .Values.serverConfig.agent.scalingStatsPeriodSeconds }}' + - name: SELDON_MAX_TIME_READY_SUB_SERVICE_AFTER_START_SECONDS + value: '{{ .Values.serverConfig.agent.maxElapsedTimeReadySubServiceAfterStartSeconds + }}' + - name: SELDON_MAX_ELAPSED_TIME_READY_SUB_SERVICE_BEFORE_START_MINUTES + value: '{{ .Values.serverConfig.agent.maxElapsedTimeReadySubServiceBeforeStartMinutes + }}' + - name: SELDON_PERIOD_READY_SUB_SERVICE_SECONDS + value: '{{ .Values.serverConfig.agent.periodReadySubServiceSeconds }}' + - name: SELDON_MAX_LOAD_ELAPSED_TIME_MINUTES + value: '{{ .Values.serverConfig.agent.maxLoadElapsedTimeMinutes }}' + - name: SELDON_MAX_UNLOAD_ELAPSED_TIME_MINUTES + value: '{{ .Values.serverConfig.agent.maxUnloadElapsedTimeMinutes }}' + - name: SELDON_MAX_LOAD_RETRY_COUNT + value: '{{ .Values.serverConfig.agent.maxLoadRetryCount }}' + - name: SELDON_MAX_UNLOAD_RETRY_COUNT + value: '{{ .Values.serverConfig.agent.maxUnloadRetryCount }}' + - name: SELDON_UNLOAD_GRACE_PERIOD_SECONDS + value: '{{ .Values.serverConfig.agent.unloadGracePeriodSeconds }}' - name: SELDON_OVERCOMMIT_PERCENTAGE value: '{{ .Values.serverConfig.agent.overcommitPercentage }}' - name: CONTROL_PLANE_SECURITY_PROTOCOL diff --git a/helm-charts/seldon-core-v2-setup/values.yaml b/helm-charts/seldon-core-v2-setup/values.yaml index df0c081..c451d1b 100644 --- a/helm-charts/seldon-core-v2-setup/values.yaml +++ b/helm-charts/seldon-core-v2-setup/values.yaml @@ -84,7 +84,7 @@ hodometer: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-hodometer - tag: 2.8.3 + tag: 2.8.4 logLevel: info metricsLevel: feature extraPublishUrls: "" @@ -121,7 +121,7 @@ modelgateway: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-modelgateway - tag: 2.8.3 + tag: 2.8.4 workers: 8 resources: cpu: 100m @@ -137,7 +137,7 @@ pipelinegateway: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-pipelinegateway - tag: 2.8.3 + tag: 2.8.4 resources: cpu: 100m memory: 1G @@ -152,7 +152,7 @@ dataflow: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-dataflow-engine - tag: 2.8.3 + tag: 2.8.4 cores: 4 resources: cpu: 100m @@ -169,7 +169,7 @@ controller: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldonv2-controller - tag: 2.8.3 + tag: 2.8.4 resources: cpu: 10m memory: 64Mi @@ -180,11 +180,15 @@ controller: runAsNonRoot: true envoy: + annotations: + "prometheus.io/path": "/stats/prometheus" + "prometheus.io/port": "9003" + "prometheus.io/scrape": "true" image: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-envoy - tag: 2.8.3 + tag: 2.8.4 resources: cpu: 100m memory: 128Mi @@ -201,7 +205,7 @@ scheduler: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-scheduler - tag: 2.8.3 + tag: 2.8.4 resources: cpu: 100m memory: 1Gi @@ -213,6 +217,7 @@ scheduler: runAsUser: 1000 runAsGroup: 1000 runAsNonRoot: true + schedulerReadyTimeoutSeconds: 600 serverConfig: terminationGracePeriodSeconds: 120 @@ -228,7 +233,7 @@ serverConfig: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-rclone - tag: 2.8.3 + tag: 2.8.4 resources: cpu: 50m memory: 128Mi @@ -238,11 +243,19 @@ serverConfig: pullPolicy: IfNotPresent registry: docker.io repository: seldonio/seldon-agent - tag: 2.8.3 + tag: 2.8.4 overcommitPercentage: "10" scalingStatsPeriodSeconds: "20" modelInferenceLagThreshold: "30" modelInactiveSecondsThreshold: "600" + maxElapsedTimeReadySubServiceAfterStartSeconds: "30" + maxElapsedTimeReadySubServiceBeforeStartMinutes: "15" + periodReadySubServiceSeconds: "60" + maxLoadElapsedTimeMinutes: "120" + maxUnloadElapsedTimeMinutes: "15" + maxLoadRetryCount: "5" + maxUnloadRetryCount: "1" + unloadGracePeriodSeconds: "2" resources: cpu: 200m memory: 1Gi