mirror of
https://github.com/outbackdingo/homelab-v.git
synced 2026-09-03 01:59:29 +00:00
fix(plex): Tidying deployment and adding GPU-support
This commit is contained in:
+23
-50
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user