From 9131a64b38ca76b73724913d849efb5d2f63ce27 Mon Sep 17 00:00:00 2001 From: Valeriano Manassero <14011549+valeriano-manassero@users.noreply.github.com> Date: Wed, 7 Jun 2023 08:34:19 +0200 Subject: [PATCH] 214 missing resources in initcontainers (#217) * Added: initContainers resources definition * Changed: version bump --- charts/clearml/Chart.yaml | 6 ++--- charts/clearml/README.md | 11 +++++--- .../templates/apiserver-deployment.yaml | 2 ++ .../templates/fileserver-deployment.yaml | 2 ++ .../templates/webserver-deployment.yaml | 2 ++ charts/clearml/values.yaml | 27 +++++++++++++++++++ 6 files changed, 43 insertions(+), 7 deletions(-) diff --git a/charts/clearml/Chart.yaml b/charts/clearml/Chart.yaml index ebf1980..a6b3bb3 100644 --- a/charts/clearml/Chart.yaml +++ b/charts/clearml/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: clearml description: MLOps platform type: application -version: "7.1.0" +version: "7.2.0" appVersion: "1.11.0" kubeVersion: ">= 1.21.0-0 < 1.28.0-0" home: https://clear.ml @@ -32,5 +32,5 @@ dependencies: condition: elasticsearch.enabled annotations: artifacthub.io/changes: | - - kind: changed - description: upgrade to app version 1.11 + - kind: added + description: initContainers resources definition diff --git a/charts/clearml/README.md b/charts/clearml/README.md index ba951fc..ffccf10 100644 --- a/charts/clearml/README.md +++ b/charts/clearml/README.md @@ -1,6 +1,6 @@ # ClearML Ecosystem for Kubernetes -![Version: 7.1.0](https://img.shields.io/badge/Version-7.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.11.0](https://img.shields.io/badge/AppVersion-1.11.0-informational?style=flat-square) +![Version: 7.2.0](https://img.shields.io/badge/Version-7.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.11.0](https://img.shields.io/badge/AppVersion-1.11.0-informational?style=flat-square) MLOps platform @@ -145,7 +145,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | Key | Type | Default | Description | |-----|------|---------|-------------| -| apiserver | object | `{"additionalConfigs":{},"affinity":{},"containerSecurityContext":{},"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"indexReplicas":0,"indexShards":1,"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"tolerations":[]}` | Api Server configurations | +| apiserver | object | `{"additionalConfigs":{},"affinity":{},"containerSecurityContext":{},"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"indexReplicas":0,"indexShards":1,"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"tolerations":[]}` | Api Server configurations | | apiserver.additionalConfigs | object | `{}` | files declared in this parameter will be mounted and read by apiserver (examples in values.yaml) if not overridden by existingAdditionalConfigsSecret | | apiserver.affinity | object | `{}` | Api Server affinity setup | | apiserver.containerSecurityContext | object | `{}` | Api Server containers security context | @@ -163,6 +163,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | apiserver.ingress.ingressClassName | string | `""` | ClassName (must be defined if no default ingressClassName is available) | | apiserver.ingress.path | string | `"/"` | Ingress root path url | | apiserver.ingress.tlsSecretName | string | `""` | Reference to secret containing TLS certificate. If set, it enables HTTPS on ingress rule. | +| apiserver.initContainers | object | `{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}}` | Api Server resources per initContainers pod | | apiserver.nodeSelector | object | `{}` | Api Server nodeselector | | apiserver.podAnnotations | object | `{}` | specific annotation for Api Server pods | | apiserver.podSecurityContext | object | `{}` | Api Server pod security context | @@ -200,7 +201,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | externalServices.mongodbConnectionStringBackend | string | `""` | Existing MongoDB connection string for AUTH to use if mongodb.enabled is false | | externalServices.redisHost | string | `""` | Existing Redis Hostname to use if redis.enabled is false | | externalServices.redisPort | int | `6379` | Existing Redis Port to use if redis.enabled is false | -| fileserver | object | `{"affinity":{},"containerSecurityContext":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations | +| fileserver | object | `{"affinity":{},"containerSecurityContext":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations | | fileserver.affinity | object | `{}` | File Server affinity setup | | fileserver.containerSecurityContext | object | `{}` | File Server containers security context | | fileserver.enabled | bool | `true` | Enable/Disable component deployment | @@ -213,6 +214,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | fileserver.ingress.ingressClassName | string | `""` | ClassName (must be defined if no default ingressClassName is available) | | fileserver.ingress.path | string | `"/"` | Ingress root path url | | fileserver.ingress.tlsSecretName | string | `""` | Reference to secret containing TLS certificate. If set, it enables HTTPS on ingress rule. | +| fileserver.initContainers | object | `{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}}` | File Server resources per initContainers pod | | fileserver.nodeSelector | object | `{}` | File Server nodeselector | | fileserver.podAnnotations | object | `{}` | specific annotation for File Server pods | | fileserver.podSecurityContext | object | `{}` | File Server pod security context | @@ -238,7 +240,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | imageCredentials.username | string | `"someone"` | Registry username | | mongodb | object | `{"architecture":"standalone","auth":{"enabled":false},"enabled":true,"persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"50Gi","storageClass":null},"replicaCount":1}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml | | redis | object | `{"architecture":"standalone","auth":{"enabled":false},"databaseNumber":0,"enabled":true,"master":{"name":"{{ .Release.Name }}-redis-master","persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"5Gi","storageClass":null},"port":6379}}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/redis/values.yaml | -| webserver | object | `{"additionalConfigs":{},"affinity":{},"containerSecurityContext":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"tolerations":[]}` | Web Server configurations | +| webserver | object | `{"additionalConfigs":{},"affinity":{},"containerSecurityContext":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.11.0-373"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"tolerations":[]}` | Web Server configurations | | webserver.additionalConfigs | object | `{}` | Additional specific webserver configurations | | webserver.affinity | object | `{}` | Web Server affinity setup | | webserver.containerSecurityContext | object | `{}` | Web Server containers security context | @@ -252,6 +254,7 @@ Kubernetes: `>= 1.21.0-0 < 1.28.0-0` | webserver.ingress.ingressClassName | string | `""` | ClassName (must be defined if no default ingressClassName is available) | | webserver.ingress.path | string | `"/"` | Ingress root path url | | webserver.ingress.tlsSecretName | string | `""` | Reference to secret containing TLS certificate. If set, it enables HTTPS on ingress rule. | +| webserver.initContainers | object | `{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}}` | Web Server resources per initContainers pod | | webserver.nodeSelector | object | `{}` | Web Server nodeselector | | webserver.podAnnotations | object | `{}` | specific annotation for Web Server pods | | webserver.podSecurityContext | object | `{}` | Web Server pod security context | diff --git a/charts/clearml/templates/apiserver-deployment.yaml b/charts/clearml/templates/apiserver-deployment.yaml index 8236c72..a1c78d3 100644 --- a/charts/clearml/templates/apiserver-deployment.yaml +++ b/charts/clearml/templates/apiserver-deployment.yaml @@ -71,6 +71,8 @@ spec: {{- end }} securityContext: {{ toYaml .Values.apiserver.containerSecurityContext | nindent 12 }} + resources: + {{- toYaml .Values.apiserver.initContainers.resources | nindent 12 }} containers: - name: clearml-apiserver image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.apiserver.image.registry) }}{{ .Values.apiserver.image.repository }}:{{ .Values.apiserver.image.tag }}" diff --git a/charts/clearml/templates/fileserver-deployment.yaml b/charts/clearml/templates/fileserver-deployment.yaml index 38311e7..b929d46 100644 --- a/charts/clearml/templates/fileserver-deployment.yaml +++ b/charts/clearml/templates/fileserver-deployment.yaml @@ -58,6 +58,8 @@ spec: done securityContext: {{ toYaml .Values.fileserver.containerSecurityContext | nindent 12 }} + resources: + {{- toYaml .Values.fileserver.initContainers.resources | nindent 12 }} containers: - name: clearml-fileserver image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.fileserver.image.registry) }}{{ .Values.fileserver.image.repository }}:{{ .Values.fileserver.image.tag }}" diff --git a/charts/clearml/templates/webserver-deployment.yaml b/charts/clearml/templates/webserver-deployment.yaml index b7679df..fc25e61 100644 --- a/charts/clearml/templates/webserver-deployment.yaml +++ b/charts/clearml/templates/webserver-deployment.yaml @@ -47,6 +47,8 @@ spec: done securityContext: {{ toYaml .Values.webserver.containerSecurityContext | nindent 12 }} + resources: + {{- toYaml .Values.webserver.initContainers.resources | nindent 12 }} containers: - name: clearml-webserver image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.webserver.image.registry) }}{{ .Values.webserver.image.repository }}:{{ .Values.webserver.image.tag }}" diff --git a/charts/clearml/values.yaml b/charts/clearml/values.yaml index 7fb2515..bb06868 100644 --- a/charts/clearml/values.yaml +++ b/charts/clearml/values.yaml @@ -72,6 +72,15 @@ apiserver: nodePort: 30008 # -- Api Server number of pods replicaCount: 1 + # -- Api Server resources per initContainers pod + initContainers: + resources: + requests: + cpu: 10m + memory: 64Mi + limits: + cpu: 10m + memory: 64Mi # -- Ingress configuration for Api Server component ingress: # -- Enable/Disable ingress @@ -181,6 +190,15 @@ fileserver: nodePort: 30081 # -- File Server number of pods replicaCount: 1 + # -- File Server resources per initContainers pod + initContainers: + resources: + requests: + cpu: 10m + memory: 64Mi + limits: + cpu: 10m + memory: 64Mi # -- Ingress configuration for File Server component ingress: # -- Enable/Disable ingress @@ -254,6 +272,15 @@ webserver: nodePort: 30080 # -- Web Server number of pods replicaCount: 1 + # -- Web Server resources per initContainers pod + initContainers: + resources: + requests: + cpu: 10m + memory: 64Mi + limits: + cpu: 10m + memory: 64Mi # -- Ingress configuration for Web Server component ingress: # -- Enable/Disable ingress