Skip to content
Snippets Groups Projects
Verified Commit 92f4ec35 authored by Frank Sauerburger's avatar Frank Sauerburger
Browse files

Add proof of principle manifest

The proof of principle shows that mlflow models can be pulled, build, and
deployed within a Kubernetes cluster in three simple steps.
parents
No related branches found
No related tags found
No related merge requests found
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "mlflow-model"
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
volumeMode: Filesystem
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: test
name: test
spec:
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- image: "python:3.10"
command: ["tail", "-f", "/dev/null"]
name: test
volumeMounts:
- mountPath: /pvc
name: pvc-mount
volumes:
- name: pvc-mount
persistentVolumeClaim:
claimName: mlflow-model
---
apiVersion: v1
kind: Pod
metadata:
name: kaniko
spec:
containers:
- name: kaniko
image: gcr.io/kaniko-project/executor:latest
args:
- "--dockerfile=Dockerfile"
- "--context=/pvc"
- "--destination=gitlab.sauerburger.com:5049/frank/titanic-ml/test:2"
volumeMounts:
- name: context
mountPath: /pvc
- name: docker-secret
mountPath: /kaniko/.docker
restartPolicy: Never
volumes:
- name: context
persistentVolumeClaim:
claimName: mlflow-model
- name: docker-secret
secret:
secretName: titanic-ml-token
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: test-serve
name: test-serve
spec:
selector:
matchLabels:
app: test-serve
template:
metadata:
labels:
app: test-serve
spec:
imagePullSecrets:
- name: titanic-ml-token
containers:
- image: gitlab.sauerburger.com:5049/frank/titanic-ml/test:2
name: test-serve
---
apiVersion: v1
kind: Service
metadata:
name: titanic-ml
spec:
type: ClusterIP
ports:
- port: 8080
targetPort: 8080
protocol: TCP
selector:
app: test-serve
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-production"
kubernetes.io/ingress.class: nginx
name: "test-ingress"
spec:
rules:
- host: "titanic.ds.sit-servers.net"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: "titanic-ml"
port:
number: 8080
tls:
- hosts:
- "titanic.ds.sit-servers.net"
secretName: test-ingress-tls-secret
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment