infrapuzzle/k8s/datalab/rstudio.yaml

98 lines
1.9 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rstudio
labels:
app: rstudio
namespace: datalab
spec:
selector:
matchLabels:
app: rstudio
replicas: 1
template:
metadata:
labels:
app: rstudio
spec:
serviceAccountName: redeploy
automountServiceAccountToken: true
imagePullSecrets:
- name: "registry-haumdaucher-de"
containers:
- image: registry.haumdaucher.de/rstudio:latest
imagePullPolicy: Always
name: rstudio
resources:
limits:
cpu: "2"
memory: "2Gi"
requests:
cpu: "200m"
memory: "500Mi"
volumeMounts:
- name: work
mountPath: /home/datalab/
env:
- name: ROOT
value: "true"
- name: USER
value: datalab
- name: PASSWORD
value: Schnitzel12
ports:
- containerPort: 8787
volumes:
- name: work
persistentVolumeClaim:
claimName: rstudio
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: rstudio
namespace: datalab
spec:
accessModes:
- ReadWriteOnce
storageClassName: openebs-hostpath
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: Service
metadata:
name: rstudio
namespace: datalab
spec:
ports:
- port: 8787
targetPort: 8787
protocol: TCP
selector:
app: rstudio
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: rstudio
namespace: datalab
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- "rstudio.haumdaucher.de"
secretName: rstudio-haumdaucher-de
rules:
- host: rstudio.haumdaucher.de
http:
paths:
- path: /
backend:
serviceName: rstudio
servicePort: 8787