-
Notifications
You must be signed in to change notification settings - Fork 1k
Pipeline Helm Charts #3237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Pipeline Helm Charts #3237
Changes from 20 commits
ab6fe9d
c0b1ad0
a2299ea
3c003e3
392fa8d
f61404a
de24196
29ef1d2
0013b5e
9a1a9e6
c850fee
6567202
2d6ed41
4d25bcb
37c79be
5544d2d
566729b
7d54114
0b0082d
2a4ba75
20c0a62
893d4b1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| apiVersion: v2 | ||
|
|
||
| name: kubeflow-pipelines | ||
|
|
||
| description: A Helm chart for Kubeflow Pipelines - ML Workflows on Kubernetes | ||
|
|
||
| version: 2.14.3 | ||
|
|
||
| appVersion: 2.14.3 | ||
|
|
||
| home: https://github.com/kubeflow/pipelines | ||
|
|
||
| icon: https://github.com/kubeflow/website/blob/master/assets/icons/logo.svg | ||
|
|
||
| sources: | ||
| - https://github.com/kubeflow/pipelines | ||
| - https://github.com/kubeflow/kubeflow | ||
| dependencies: | ||
| - name: argo-workflows | ||
| version: "~0.40.0" | ||
| condition: thirdParty.argo.enabled | ||
| repository: "https://argoproj.github.io/argo-helm" | ||
| - name: mysql | ||
| version: "~14.0.0" | ||
| condition: mysql.enabled | ||
| repository: "https://charts.bitnami.com/bitnami" | ||
| annotations: | ||
| category: Machine Learning | ||
| licenses: Apache-2.0 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # Kubeflow Pipelines Helm Chart | ||
|
|
||
| This Helm chart deploys Kubeflow Pipelines on a Kubernetes cluster using the Helm package manager. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,124 @@ | ||
| # Values for platform-agnostic multi-user k8s-native mode | ||
| # Pipeline definitions stored as Kubernetes Resources | ||
|
|
||
| global: | ||
| namespace: kubeflow | ||
| imageTag: 2.15.0 | ||
| security: | ||
| allowInsecureImages: true | ||
|
|
||
| installMode: | ||
| type: multi-user | ||
| pipelineDefinition: | ||
| storage: k8s-native | ||
|
|
||
| # API Server configuration for k8s-native mode | ||
| apiServer: | ||
| # Use local image for k8s-native mode | ||
| image: | ||
| repository: domain.local/apiserver | ||
| tag: local | ||
| # K8s-native specific configuration | ||
| k8sNative: | ||
| enabled: true | ||
| command: | ||
| - "/bin/apiserver" | ||
| args: | ||
| - "--config=/config" | ||
| - "--sampleconfig=/config/sample_config.json" | ||
| - "-logtostderr=true" | ||
| - "--webhookTLSCertPath=/etc/webhook/certs/tls.crt" | ||
| - "--webhookTLSKeyPath=/etc/webhook/certs/tls.key" | ||
| - "--pipelinesStoreKubernetes=true" | ||
| webhookPort: 8443 | ||
| volumeMounts: | ||
| - name: webhook-certs | ||
| mountPath: /etc/webhook/certs | ||
| readOnly: true | ||
| volumes: | ||
| - name: webhook-certs | ||
| secret: | ||
| secretName: kfp-api-webhook-cert | ||
|
|
||
| # CRDs | ||
| crds: | ||
| install: true | ||
| webhook: true | ||
|
|
||
| # Enable cert-manager integration | ||
| certManager: | ||
| enabled: true | ||
|
|
||
| # Enable metadata | ||
| metadata: | ||
| enabled: true | ||
|
|
||
| viewerCrd: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
| - name: MAX_NUM_VIEWERS | ||
| value: "50" | ||
|
|
||
| scheduledWorkflow: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For what do we need this empty value ? |
||
| - name: LOG_LEVEL | ||
| value: "info" | ||
|
|
||
| persistenceAgent: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For what do we need this empty value ?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is directly picked from env where it is mentioned:- Empty namespace let viewer controller watch all namespaces |
||
|
|
||
|
|
||
|
|
||
| # Third-party components | ||
| thirdParty: | ||
| argo: | ||
| enabled: true | ||
| mysql: | ||
| enabled: true | ||
| metacontroller: | ||
| enabled: true | ||
|
|
||
| # MySQL configuration (disabled - using external MySQL like Kustomize) | ||
| mysql: | ||
| enabled: false | ||
|
|
||
| # External MySQL configuration | ||
| externalDatabase: | ||
| enabled: true | ||
| host: "mysql" | ||
| port: 3306 | ||
| database: "mlpipeline" | ||
| username: "root" | ||
| password: "" | ||
|
|
||
| # SeaweedFS configuration | ||
| seaweedfs: | ||
| enabled: true | ||
| bucket: "mlpipeline" | ||
| s3EndpointUrl: "http://seaweedfs.kubeflow:8333" | ||
|
|
||
| # Profile controller | ||
| profileController: | ||
| enabled: true | ||
| disableIstioSidecar: "false" | ||
| artifactsProxyEnabled: "false" | ||
| artifactRetentionDays: "-1" | ||
|
|
||
| # Networking | ||
| networking: | ||
| istio: | ||
| enabled: true | ||
| gateway: "kubeflow-gateway" | ||
| virtualService: | ||
| enabled: true | ||
|
|
||
| # Webhooks enabled for k8s-native mode | ||
| webhooks: | ||
| enabled: true | ||
| failurePolicy: "Fail" | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| # Values for platform-agnostic multi-user mode | ||
| # Pipeline definitions stored in the database | ||
|
|
||
| global: | ||
| namespace: kubeflow | ||
| imageTag: 2.15.0 | ||
| security: | ||
| allowInsecureImages: true | ||
|
|
||
| installMode: | ||
| type: multi-user | ||
| pipelineDefinition: | ||
| storage: database | ||
|
|
||
| # CRDs | ||
| crds: | ||
| install: true | ||
| application: false | ||
| webhook: false | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this not depend on pipelineDefinition:
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I will add a comments in both values files that crds.webhook should match pipelineDefinition.storage for consistency, even though templates check pipelineDefinition.storage directly |
||
|
|
||
| # Enable cert-manager integration | ||
| certManager: | ||
| enabled: true | ||
|
|
||
| # Enable metadata | ||
| metadata: | ||
| enabled: true | ||
|
|
||
| viewerCrd: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
| - name: MAX_NUM_VIEWERS | ||
| value: "50" | ||
|
|
||
| scheduledWorkflow: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
| - name: LOG_LEVEL | ||
| value: "info" | ||
|
|
||
| persistenceAgent: | ||
| additionalEnv: | ||
| - name: NAMESPACE | ||
| value: "" | ||
|
|
||
| # Third-party components | ||
| thirdParty: | ||
| argo: | ||
| enabled: true | ||
| mysql: | ||
| enabled: true | ||
| metacontroller: | ||
| enabled: true | ||
|
|
||
|
|
||
| # MySQL configuration (disabled - using external MySQL like Kustomize) | ||
| mysql: | ||
| enabled: false | ||
|
|
||
| # External MySQL configuration | ||
| externalDatabase: | ||
| enabled: true | ||
| host: "mysql" | ||
| port: 3306 | ||
| database: "mlpipeline" | ||
| username: "root" | ||
| password: "" | ||
|
|
||
| # SeaweedFS configuration | ||
| seaweedfs: | ||
| enabled: true | ||
| bucket: "mlpipeline" | ||
| s3EndpointUrl: "http://seaweedfs.kubeflow:8333" | ||
|
|
||
| # Profile controller | ||
| profileController: | ||
| enabled: true | ||
| disableIstioSidecar: "false" | ||
| artifactsProxyEnabled: "false" | ||
| artifactRetentionDays: "-1" | ||
|
|
||
| # Networking | ||
| networking: | ||
| istio: | ||
| enabled: true | ||
| gateway: "kubeflow-gateway" | ||
| virtualService: | ||
| enabled: true | ||
|
|
||
| # Webhooks disabled for database mode | ||
| webhooks: | ||
| enabled: false | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are at 2.15.0 please make sure to update all files. You really need to check each file in this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay