Skip to content

Commit 8329e64

Browse files
authored
feat: add openshift env to manifests (kubeflow#11932)
Signed-off-by: Humair Khan <[email protected]>
1 parent 732a3f2 commit 8329e64

File tree

9 files changed

+211
-0
lines changed

9 files changed

+211
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Kubeflow Pipelines Standalone for OpenShift
2+
3+
This repository contains deployment resources for Kubeflow Pipelines (KFP) Standalone on OpenShift platform:
4+
5+
> [!Caution]
6+
> This is not a production ready deployment. For a production environment it is highly recommended that you thoroughly inspect the manifests and update them as needed per your use-case.
7+
8+
## Prerequisites
9+
- OpenShift cluster (version 4.x+)
10+
- [oc] CLI tool installed
11+
- Cluster administrator access
12+
13+
## Deploy KFP on Openshift
14+
15+
Create the `kubeflow` Openshift Project:
16+
17+
```bash
18+
oc new-project kubeflow
19+
```
20+
21+
Navigate to the Openshift manifests and deploy KFP
22+
23+
```bash
24+
git clone https://github.com/kubeflow/pipelines.git
25+
cd manifests/kustomize/env/openshift/base
26+
oc -n kubeflow apply -k .
27+
```
28+
29+
Access the route via:
30+
31+
```bash
32+
echo https://$(oc get routes -n kubeflow ml-pipeline-ui --template={{.spec.host}})
33+
```
34+
35+
[oc]: https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/cli_tools/openshift-cli-oc
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
namespace: kubeflow
4+
labels:
5+
- includeSelectors: true
6+
pairs:
7+
application-crd-id: kubeflow-pipelines
8+
resources:
9+
- ../../../cluster-scoped-resources
10+
- ../../../env/platform-agnostic
11+
- route.yaml
12+
13+
patches:
14+
# Turn off V1 components
15+
- path: patches/viewer-crd.yaml
16+
target:
17+
kind: Deployment
18+
name: ml-pipeline-viewer-crd
19+
- path: patches/visualizationserver.yaml
20+
target:
21+
kind: Deployment
22+
name: ml-pipeline-visualizationserver
23+
- path: patches/cache-server.yaml
24+
target:
25+
kind: Deployment
26+
name: cache-server
27+
- path: patches/cache-deployer.yaml
28+
target:
29+
kind: Deployment
30+
name: cache-deployer-deployment
31+
- path: patches/remove-sc.json
32+
target:
33+
group: apps
34+
kind: Deployment
35+
name: cache-server
36+
version: v1
37+
38+
# Openshift provides its own default restricted SCC's
39+
# Thus the following can be omitted:
40+
- path: patches/remove-sc.json
41+
target:
42+
group: apps
43+
kind: Deployment
44+
name: metadata-envoy-deployment
45+
version: v1
46+
- path: patches/remove-sc.json
47+
target:
48+
group: apps
49+
kind: Deployment
50+
name: metadata-grpc-deployment
51+
version: v1
52+
- path: patches/remove-sc.json
53+
target:
54+
group: apps
55+
kind: Deployment
56+
name: metadata-writer
57+
version: v1
58+
- path: patches/remove-sc.json
59+
target:
60+
group: apps
61+
kind: Deployment
62+
name: minio
63+
version: v1
64+
- path: patches/remove-sc.json
65+
target:
66+
group: apps
67+
kind: Deployment
68+
name: ml-pipeline
69+
version: v1
70+
- path: patches/remove-sc.json
71+
target:
72+
group: apps #
73+
kind: Deployment
74+
name: ml-pipeline-persistenceagent
75+
version: v1
76+
- path: patches/remove-sc.json
77+
target:
78+
group: apps
79+
kind: Deployment
80+
name: ml-pipeline-scheduledworkflow
81+
version: v1
82+
- path: patches/remove-sc.json
83+
target:
84+
group: apps
85+
kind: Deployment
86+
name: ml-pipeline-ui
87+
version: v1
88+
- path: patches/remove-sc.json
89+
target:
90+
group: apps
91+
kind: Deployment
92+
name: ml-pipeline-viewer-crd
93+
version: v1
94+
- path: patches/remove-sc.json
95+
target:
96+
group: apps
97+
kind: Deployment
98+
name: ml-pipeline-visualizationserver
99+
version: v1
100+
- path: patches/remove-sc.json
101+
target:
102+
group: apps
103+
kind: Deployment
104+
name: mysql
105+
version: v1
106+
- path: patches/remove-sc-pod.json
107+
target:
108+
group: apps
109+
kind: Deployment
110+
name: mysql
111+
version: v1
112+
- path: patches/remove-sc-pod.json
113+
target:
114+
group: apps
115+
kind: Deployment
116+
name: minio
117+
version: v1
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: cache-deployer-deployment
5+
namespace: kubeflow
6+
spec:
7+
replicas: 0
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: cache-server
5+
namespace: kubeflow
6+
spec:
7+
replicas: 0
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{
3+
"op": "remove",
4+
"path": "/spec/template/spec/securityContext"
5+
}
6+
]
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{
3+
"op": "remove",
4+
"path": "/spec/template/spec/containers/0/securityContext"
5+
}
6+
]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: ml-pipeline-viewer-crd
5+
namespace: kubeflow
6+
spec:
7+
replicas: 0
8+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: ml-pipeline-visualizationserver
5+
namespace: kubeflow
6+
spec:
7+
replicas: 0
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
kind: Route
2+
apiVersion: route.openshift.io/v1
3+
metadata:
4+
name: ml-pipeline-ui
5+
namespace: kubeflow
6+
labels:
7+
app: ml-pipeline-ui
8+
spec:
9+
to:
10+
kind: Service
11+
name: ml-pipeline-ui
12+
weight: 100
13+
port:
14+
targetPort: http
15+
tls:
16+
termination: edge
17+
insecureEdgeTerminationPolicy: Redirect
18+
wildcardPolicy: None

0 commit comments

Comments
 (0)