Skip to content

Commit 75dd137

Browse files
committed
Pipline Helm Charts
Signed-off-by: kunal-511 <[email protected]>
1 parent 8cc8dcf commit 75dd137

File tree

86 files changed

+7820
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+7820
-8
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
apiVersion: v2
2+
3+
name: kubeflow-pipelines
4+
5+
description: A Helm chart for Kubeflow Pipelines - ML Workflows on Kubernetes
6+
7+
version: 2.5.0
8+
9+
appVersion: 2.5.0
10+
11+
home: https://github.com/kubeflow/pipelines
12+
13+
icon: https://github.com/kubeflow/website/blob/master/assets/icons/logo.svg
14+
15+
sources:
16+
- https://github.com/kubeflow/pipelines
17+
- https://github.com/kubeflow/kubeflow
18+
dependencies:
19+
- name: argo-workflows
20+
version: "~0.40.0"
21+
condition: argo.enabled
22+
repository: "https://argoproj.github.io/argo-helm"
23+
- name: minio
24+
version: "~5.0.0"
25+
condition: minio.enabled
26+
repository: "https://charts.min.io/"
27+
- name: mysql
28+
version: "~9.0.0"
29+
condition: mysql.enabled
30+
repository: "https://charts.bitnami.com/bitnami"
31+
- name: postgresql
32+
version: "~12.0.0"
33+
condition: postgresql.enabled
34+
repository: "https://charts.bitnami.com/bitnami"
35+
annotations:
36+
category: Machine Learning
37+
licenses: Apache-2.0
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Kubeflow Pipelines Helm Chart
2+
3+
This Helm chart deploys Kubeflow Pipelines on a Kubernetes cluster using the Helm package manager.
Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# AWS-Specific Configuration - Enhanced
2+
# This configuration provides AWS integration with S3 and RDS
3+
4+
global:
5+
namespace: kubeflow
6+
imageRegistry: ghcr.io/kubeflow
7+
imageTag: "2.5.0"
8+
imagePullPolicy: IfNotPresent
9+
10+
# Installation mode
11+
installMode:
12+
type: generic
13+
multiUser:
14+
enabled: false
15+
16+
# Database Configuration
17+
mysql:
18+
enabled: false
19+
20+
postgresql:
21+
enabled: false
22+
23+
externalDatabase:
24+
type: mysql
25+
host: "YOUR_RDS_ENDPOINT"
26+
port: 3306
27+
database: mlpipeline
28+
username: "YOUR_RDS_USERNAME"
29+
password: "YOUR_RDS_PASSWORD"
30+
existingSecret: "mysql-secret"
31+
32+
# Object Storage Configuration
33+
minio:
34+
enabled: false
35+
36+
objectStore:
37+
provider: s3
38+
secure: true
39+
bucketName: "YOUR_S3_BUCKET_NAME"
40+
s3:
41+
region: "YOUR_AWS_REGION"
42+
endpoint: "s3.amazonaws.com"
43+
accessKey: ""
44+
secretKey: ""
45+
46+
# Database names
47+
database:
48+
pipelinedb: mlpipeline
49+
metadb: metadb
50+
cachedb: cachedb
51+
52+
# Pipeline Configuration
53+
pipeline:
54+
cache:
55+
image: "registry.k8s.io/busybox"
56+
nodeRestrictions: false
57+
maximumStaleness: ""
58+
defaultStaleness: ""
59+
60+
# Argo Workflows Configuration
61+
argo:
62+
enabled: true
63+
64+
env:
65+
platform: aws
66+
aws:
67+
region: "YOUR_AWS_REGION"
68+
rds:
69+
enabled: true
70+
endpoint: "YOUR_RDS_ENDPOINT"
71+
s3:
72+
enabled: true
73+
bucket: "YOUR_S3_BUCKET_NAME"
74+
region: "YOUR_AWS_REGION"
75+
76+
# AWS API Server configuration
77+
apiServer:
78+
env:
79+
# Object store configuration for S3
80+
objectStoreSecure: "true"
81+
objectStoreBucketName: "YOUR_S3_BUCKET_NAME"
82+
objectStoreHost: "s3.amazonaws.com"
83+
objectStoreRegion: "YOUR_AWS_REGION"
84+
objectStorePort: ""
85+
86+
# Service account annotations for IAM roles
87+
serviceAccount:
88+
annotations:
89+
eks.amazonaws.com/role-arn: "arn:aws:iam::ACCOUNT_ID:role/KubeflowPipelinesRole"
90+
91+
resources:
92+
requests:
93+
cpu: 250m
94+
memory: 500Mi
95+
limits:
96+
cpu: 1
97+
memory: 2Gi
98+
99+
# AWS UI configuration
100+
ui:
101+
env:
102+
# MinIO service configuration for S3
103+
minioServiceHost: "s3.amazonaws.com"
104+
minioServiceRegion: "YOUR_AWS_REGION"
105+
106+
resources:
107+
requests:
108+
cpu: 10m
109+
memory: 70Mi
110+
limits:
111+
cpu: 100m
112+
memory: 200Mi
113+
114+
# Enhanced resources for AWS deployment
115+
persistenceAgent:
116+
resources:
117+
requests:
118+
cpu: 120m
119+
memory: 500Mi
120+
limits:
121+
cpu: 500m
122+
memory: 1Gi
123+
124+
scheduledWorkflow:
125+
resources:
126+
requests:
127+
cpu: 120m
128+
memory: 100Mi
129+
limits:
130+
cpu: 250m
131+
memory: 500Mi
132+
133+
metadata:
134+
grpc:
135+
resources:
136+
requests:
137+
cpu: 100m
138+
memory: 300Mi
139+
limits:
140+
cpu: 500m
141+
memory: 1Gi
142+
envoy:
143+
resources:
144+
requests:
145+
cpu: 20m
146+
memory: 20Mi
147+
limits:
148+
cpu: 100m
149+
memory: 100Mi
150+
151+
cache:
152+
server:
153+
resources:
154+
requests:
155+
cpu: 120m
156+
memory: 500Mi
157+
limits:
158+
cpu: 500m
159+
memory: 1Gi
160+
161+
visualization:
162+
resources:
163+
requests:
164+
cpu: 50m
165+
memory: 200Mi
166+
limits:
167+
cpu: 200m
168+
memory: 500Mi
169+
170+
viewerCrd:
171+
resources:
172+
requests:
173+
cpu: 120m
174+
memory: 100Mi
175+
limits:
176+
cpu: 250m
177+
memory: 200Mi
178+
179+
# AWS Load Balancer Controller integration
180+
181+
service:
182+
type: LoadBalancer
183+
annotations:
184+
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
185+
service.beta.kubernetes.io/aws-load-balancer-scheme: "internet-facing"
186+
187+
# Monitoring can be enabled with CloudWatch
188+
monitoring:
189+
prometheus:
190+
enabled: false
191+
grafana:
192+
enabled: false
193+
cloudwatch:
194+
enabled: true
195+
196+
# Service mesh integration
197+
istio:
198+
enabled: false
199+
200+
# Cert-manager with AWS integration
201+
certManager:
202+
enabled: true
203+
issuer: "letsencrypt-prod"
204+
issuerKind: "ClusterIssuer"
205+
aws:
206+
region: "YOUR_AWS_REGION"
207+
hostedZoneID: "YOUR_ROUTE53_ZONE_ID"
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# AWS-specific values for Kubeflow Pipelines
2+
# This configuration uses AWS S3 and RDS
3+
4+
# Environment configuration
5+
env:
6+
platform: aws
7+
aws:
8+
region: us-west-2
9+
rds:
10+
enabled: true
11+
s3:
12+
enabled: true
13+
14+
# Database configuration
15+
mysql:
16+
enabled: false
17+
18+
postgresql:
19+
enabled: false
20+
21+
externalDatabase:
22+
type: mysql
23+
host: "YOUR_RDS_ENDPOINT"
24+
port: 3306
25+
database: "mlpipeline"
26+
username: "root"
27+
password: ""
28+
existingSecret: "mysql-secret"
29+
30+
# Additional databases
31+
database:
32+
metadb: "metadb"
33+
cachedb: "cachedb"
34+
35+
# Object storage configuration
36+
objectStore:
37+
provider: s3
38+
s3:
39+
region: "YOUR_AWS_REGION"
40+
bucket: "YOUR_S3_BUCKET_NAME"
41+
existingSecret: "mlpipeline-minio-artifact"
42+
43+
minio:
44+
enabled: false
45+
46+
# Argo Workflows configuration
47+
argo:
48+
enabled: true
49+
50+
# API Server AWS-specific environment variables
51+
apiServer:
52+
env:
53+
publishLogs: true
54+
pipelineLogLevel: "1"
55+
autoUpdatePipelineDefaultVersion: true
56+
v2DriverImage: "ghcr.io/kubeflow/kfp-driver:2.5.0"
57+
v2LauncherImage: "ghcr.io/kubeflow/kfp-launcher:2.5.0"
58+
additionalEnv:
59+
- name: AWS_REGION
60+
value: "YOUR_AWS_REGION"
61+
- name: OBJECTSTORECONFIG_HOST
62+
value: "s3.amazonaws.com"
63+
- name: OBJECTSTORECONFIG_REGION
64+
value: "YOUR_AWS_REGION"
65+
66+
# UI AWS-specific configuration
67+
ui:
68+
additionalEnv:
69+
- name: VIEWER_TENSORBOARD_POD_TEMPLATE_SPEC_PATH
70+
value: "/etc/config/viewer-pod-template.json"
71+
- name: AWS_REGION
72+
value: "YOUR_AWS_REGION"
73+
74+
# Monitoring configuration
75+
monitoring:
76+
prometheus:
77+
enabled: false
78+
grafana:
79+
enabled: false
80+
81+
# Certificate management
82+
certManager:
83+
enabled: false
84+
85+
# Networking
86+
networking:
87+
istio:
88+
enabled: false

0 commit comments

Comments
 (0)