feat: add openshift env to manifests (#11932)

Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>
This commit is contained in:
Humair Khan 2025-05-27 16:26:13 -04:00 committed by GitHub
parent 732a3f26f5
commit 8329e64716
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 211 additions and 0 deletions

View File

@ -0,0 +1,35 @@
# Kubeflow Pipelines Standalone for OpenShift
This repository contains deployment resources for Kubeflow Pipelines (KFP) Standalone on OpenShift platform:
> [!Caution]
> 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.
## Prerequisites
- OpenShift cluster (version 4.x+)
- [oc] CLI tool installed
- Cluster administrator access
## Deploy KFP on Openshift
Create the `kubeflow` Openshift Project:
```bash
oc new-project kubeflow
```
Navigate to the Openshift manifests and deploy KFP
```bash
git clone https://github.com/kubeflow/pipelines.git
cd manifests/kustomize/env/openshift/base
oc -n kubeflow apply -k .
```
Access the route via:
```bash
echo https://$(oc get routes -n kubeflow ml-pipeline-ui --template={{.spec.host}})
```
[oc]: https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/cli_tools/openshift-cli-oc

View File

@ -0,0 +1,117 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: kubeflow
labels:
- includeSelectors: true
pairs:
application-crd-id: kubeflow-pipelines
resources:
- ../../../cluster-scoped-resources
- ../../../env/platform-agnostic
- route.yaml
patches:
# Turn off V1 components
- path: patches/viewer-crd.yaml
target:
kind: Deployment
name: ml-pipeline-viewer-crd
- path: patches/visualizationserver.yaml
target:
kind: Deployment
name: ml-pipeline-visualizationserver
- path: patches/cache-server.yaml
target:
kind: Deployment
name: cache-server
- path: patches/cache-deployer.yaml
target:
kind: Deployment
name: cache-deployer-deployment
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: cache-server
version: v1
# Openshift provides its own default restricted SCC's
# Thus the following can be omitted:
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: metadata-envoy-deployment
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: metadata-grpc-deployment
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: metadata-writer
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: minio
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: ml-pipeline
version: v1
- path: patches/remove-sc.json
target:
group: apps #
kind: Deployment
name: ml-pipeline-persistenceagent
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: ml-pipeline-scheduledworkflow
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: ml-pipeline-ui
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: ml-pipeline-viewer-crd
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: ml-pipeline-visualizationserver
version: v1
- path: patches/remove-sc.json
target:
group: apps
kind: Deployment
name: mysql
version: v1
- path: patches/remove-sc-pod.json
target:
group: apps
kind: Deployment
name: mysql
version: v1
- path: patches/remove-sc-pod.json
target:
group: apps
kind: Deployment
name: minio
version: v1

View File

@ -0,0 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: cache-deployer-deployment
namespace: kubeflow
spec:
replicas: 0

View File

@ -0,0 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: cache-server
namespace: kubeflow
spec:
replicas: 0

View File

@ -0,0 +1,6 @@
[
{
"op": "remove",
"path": "/spec/template/spec/securityContext"
}
]

View File

@ -0,0 +1,6 @@
[
{
"op": "remove",
"path": "/spec/template/spec/containers/0/securityContext"
}
]

View File

@ -0,0 +1,8 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: ml-pipeline-viewer-crd
namespace: kubeflow
spec:
replicas: 0

View File

@ -0,0 +1,7 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: ml-pipeline-visualizationserver
namespace: kubeflow
spec:
replicas: 0

View File

@ -0,0 +1,18 @@
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: ml-pipeline-ui
namespace: kubeflow
labels:
app: ml-pipeline-ui
spec:
to:
kind: Service
name: ml-pipeline-ui
weight: 100
port:
targetPort: http
tls:
termination: edge
insecureEdgeTerminationPolicy: Redirect
wildcardPolicy: None