fix(plex): Tidying deployment and adding GPU-support

This commit is contained in:
Vegard Hagen
2023-11-11 10:23:42 +01:00
parent cac81f3cce
commit 5a34100a97
10 changed files with 103 additions and 154 deletions
+23 -50
View File
@@ -9,60 +9,33 @@ spec:
app: plex
template:
spec:
volumes:
- name: plex-config
hostPath:
path: "/disk/etc/plex"
- name: media-data
hostPath:
path: "/disk/data"
#- name: plex-config-pv
# persistentVolumeClaim:
# claimName: plex-config
#- name: media-data-pv
# persistentVolumeClaim:
# claimName: media-data
containers:
- name: plex
image: lscr.io/linuxserver/plex
imagePullPolicy: Always
volumeMounts:
- mountPath: "/config"
name: plex-config
- mountPath: "/app/data"
name: media-data
#- mountPath: "/config"
# name: plex-config-pv
#- mountPath: "/app/data"
# name: media-data-pv
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: Europe/Oslo
resources:
requests:
cpu: 2000m
memory: 6Gi
limits:
cpu: 10000m
memory: 12Gi
nvidia.com/gpu: "1"
envFrom:
- configMapRef:
name: plex-env
ports:
- name: web
containerPort: 32400
- name: a
containerPort: 1900
protocol: UDP
- name: b
containerPort: 3005
- name: c
containerPort: 8324
- name: d
containerPort: 32410
protocol: UDP
- name: e
containerPort: 32412
protocol: UDP
- name: f
containerPort: 32413
protocol: UDP
- name: g
containerPort: 32414
protocol: UDP
- name: h
containerPort: 32469
volumeMounts:
- name: config
mountPath: /config
- name: media
mountPath: /app/data
volumes:
- name: config
persistentVolumeClaim:
claimName: plex-config-pvc
- name: media
persistentVolumeClaim:
claimName: plex-media-pvc
+12 -2
View File
@@ -4,9 +4,19 @@ namespace: plex
commonLabels:
app: plex
configMapGenerator:
- name: plex-env
literals:
- PUID="1000"
- PGID="1000"
- UMASK="002"
- TZ="Europe/Oslo"
resources:
# - pv.yaml
# - pvc.yaml
- pv-plex-config.yaml
- pvc-plex-config.yaml
- pv-plex-media.yaml
- pvc-plex-media.yaml
- service.yaml
- deployment.yaml
- ingress.yaml
+22
View File
@@ -0,0 +1,22 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: plex-config-pv
spec:
capacity:
storage: 64Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: plex-config-sc
local:
path: /disk/etc/plex
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- gauss
+22
View File
@@ -0,0 +1,22 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: plex-media-pv
spec:
capacity:
storage: 12Ti
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: plex-media-sc
local:
path: /disk/data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- gauss
-45
View File
@@ -1,45 +0,0 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: plex-config-pv
spec:
capacity:
storage: 2Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: plex-config
local:
path: "/disk/etc/plex"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- ratatoskr
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: media-data-pv
spec:
capacity:
storage: 11Ti
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: media-data
local:
path: "/disk/data"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- ratatoskr
+12
View File
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-config-pvc
namespace: plex
spec:
storageClassName: plex-config-sc
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Gi
+12
View File
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-media-pvc
namespace: plex
spec:
storageClassName: plex-media-sc
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 12Ti
-23
View File
@@ -1,23 +0,0 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: plex-config
spec:
storageClassName: plex-config
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: media-data
spec:
storageClassName: media-data
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1.8Ti
-13
View File
@@ -1,13 +0,0 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: plex-config
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: media-data
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
-21
View File
@@ -7,26 +7,5 @@ spec:
ports:
- name: web
port: 32400
- name: a
port: 1900
protocol: UDP
- name: b
port: 3005
- name: c
port: 8324
- name: d
port: 32410
protocol: UDP
- name: e
port: 32412
protocol: UDP
- name: f
port: 32413
protocol: UDP
- name: g
port: 32414
protocol: UDP
- name: h
port: 32469
selector:
app: plex