storage
This commit is contained in:
parent
ca6113a68e
commit
7fbc9cdd3d
@ -7,4 +7,6 @@
|
||||
[x] ntr-cv static containers
|
||||
[x] check mnmlgg mail
|
||||
[x] ufw
|
||||
[x] grafana etc
|
||||
[x] grafana etc
|
||||
|
||||
kubectl run -i --tty --rm debug --image=busybox --restart=Never -- nslookup openebs-etcd.openebs.svc.cluster.local
|
||||
|
||||
39
media/jellyfin-ingress.yaml
Normal file
39
media/jellyfin-ingress.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyfin
|
||||
name: jellyfin
|
||||
namespace: media
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 8096
|
||||
protocol: TCP
|
||||
targetPort: 8096
|
||||
selector:
|
||||
app: jellyfin
|
||||
type: ClusterIP
|
||||
|
||||
---
|
||||
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: jellyfin-ingress
|
||||
namespace: media
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: jellyfin.nightowl.strix.systems
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: jellyfin
|
||||
port:
|
||||
name: web
|
||||
path: /
|
||||
pathType: Prefix
|
||||
95
media/jellyfin.yaml
Normal file
95
media/jellyfin.yaml
Normal file
@ -0,0 +1,95 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: media
|
||||
|
||||
---
|
||||
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: jellyfin
|
||||
namespace: media
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: jellyfin
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: jellyfin
|
||||
spec:
|
||||
|
||||
# USE GPU
|
||||
runtimeClassName: nvidia
|
||||
|
||||
containers:
|
||||
- env:
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: spec.nodeName
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.name
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.namespace
|
||||
image: jellyfin/jellyfin
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: jellyfin
|
||||
ports:
|
||||
- containerPort: 8096
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /media
|
||||
name: jellyfin-media
|
||||
readOnly: True
|
||||
- mountPath: /config
|
||||
name: jellyfin-config
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: jellyfin-media
|
||||
persistentVolumeClaim:
|
||||
claimName: jellyfin-media
|
||||
- name: jellyfin-config
|
||||
persistentVolumeClaim:
|
||||
claimName: jellyfin-config
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: jellyfin-media
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: slow
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 32Gi
|
||||
|
||||
---
|
||||
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: jellyfin-config
|
||||
namespace: media
|
||||
spec:
|
||||
storageClassName: fast
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 8Gi
|
||||
|
||||
@ -1,3 +1,25 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: gpu-operator
|
||||
|
||||
---
|
||||
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChart
|
||||
metadata:
|
||||
name: gpu-operator
|
||||
namespace: gpu-operator
|
||||
spec:
|
||||
repo: https://helm.ngc.nvidia.com/nvidia
|
||||
chart: gpu-operator
|
||||
targetNamespace: gpu-operator
|
||||
version: 24.9.2
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
@ -15,7 +15,8 @@ spec:
|
||||
repo: https://haproxytech.github.io/helm-charts
|
||||
chart: kubernetes-ingress
|
||||
targetNamespace: networking
|
||||
# valuesContent: |-
|
||||
# controller:
|
||||
# deployment:
|
||||
# useHostPort: true
|
||||
valuesContent: |-
|
||||
controller:
|
||||
kind: DaemonSet
|
||||
daemonset:
|
||||
useHostPort: true
|
||||
@ -31,6 +31,10 @@ spec:
|
||||
# allow it to respond to devices outside cluster
|
||||
- name: FTLCONF_dns_listeningMode
|
||||
value: single
|
||||
|
||||
# resolve wildcards
|
||||
- name: FTLCONF_misc_dnsmasq_lines
|
||||
value: address=/nightowl.strix.systems/192.168.1.88
|
||||
ports:
|
||||
- containerPort: 53
|
||||
protocol: TCP
|
||||
@ -152,7 +156,7 @@ metadata:
|
||||
spec:
|
||||
ingressClassName: haproxy
|
||||
rules:
|
||||
- host: "pihole.nightowl.hayst"
|
||||
- host: "pihole.nightowl.strix.systems"
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
|
||||
92
storage/openebs.yaml
Normal file
92
storage/openebs.yaml
Normal file
@ -0,0 +1,92 @@
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: openebs
|
||||
|
||||
---
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChart
|
||||
metadata:
|
||||
name: openebs
|
||||
namespace: openebs
|
||||
spec:
|
||||
repo: https://openebs.github.io/openebs/
|
||||
chart: openebs
|
||||
targetNamespace: openebs
|
||||
valuesContent: |-
|
||||
engines:
|
||||
replicated:
|
||||
mayastor:
|
||||
enabled: false
|
||||
local:
|
||||
lvm:
|
||||
enabled: false
|
||||
|
||||
---
|
||||
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: zfs-fast
|
||||
parameters:
|
||||
poolname: "fast/k8s"
|
||||
recordsize: "128k"
|
||||
|
||||
compression: "off"
|
||||
dedup: "off"
|
||||
fstype: "zfs"
|
||||
|
||||
provisioner: zfs.csi.openebs.io
|
||||
|
||||
---
|
||||
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: zfs-slow
|
||||
parameters:
|
||||
poolname: "slow/k8s"
|
||||
# https://www.zfshandbook.com/docs/advanced-zfs/performance-tuning/
|
||||
recordsize: "1M"
|
||||
|
||||
compression: "off"
|
||||
dedup: "off"
|
||||
fstype: "zfs"
|
||||
|
||||
provisioner: zfs.csi.openebs.io
|
||||
|
||||
---
|
||||
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: fast
|
||||
annotations:
|
||||
cas.openebs.io/config: |
|
||||
- name: StorageType
|
||||
value: "hostpath"
|
||||
- name: BasePath
|
||||
value: "/fast/k8s/"
|
||||
openebs.io/cas-type: local
|
||||
provisioner: openebs.io/local
|
||||
reclaimPolicy: Retain
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
|
||||
---
|
||||
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: slow
|
||||
annotations:
|
||||
cas.openebs.io/config: |
|
||||
- name: StorageType
|
||||
value: "hostpath"
|
||||
- name: BasePath
|
||||
value: "/slow/k8s/"
|
||||
openebs.io/cas-type: local
|
||||
provisioner: openebs.io/local
|
||||
reclaimPolicy: Retain
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
Loading…
x
Reference in New Issue
Block a user