storage
This commit is contained in:
parent
ca6113a68e
commit
7fbc9cdd3d
@ -7,4 +7,6 @@
|
|||||||
[x] ntr-cv static containers
|
[x] ntr-cv static containers
|
||||||
[x] check mnmlgg mail
|
[x] check mnmlgg mail
|
||||||
[x] ufw
|
[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
|
apiVersion: v1
|
||||||
kind: Pod
|
kind: Pod
|
||||||
metadata:
|
metadata:
|
||||||
@ -15,7 +15,8 @@ spec:
|
|||||||
repo: https://haproxytech.github.io/helm-charts
|
repo: https://haproxytech.github.io/helm-charts
|
||||||
chart: kubernetes-ingress
|
chart: kubernetes-ingress
|
||||||
targetNamespace: networking
|
targetNamespace: networking
|
||||||
# valuesContent: |-
|
valuesContent: |-
|
||||||
# controller:
|
controller:
|
||||||
# deployment:
|
kind: DaemonSet
|
||||||
# useHostPort: true
|
daemonset:
|
||||||
|
useHostPort: true
|
||||||
@ -31,6 +31,10 @@ spec:
|
|||||||
# allow it to respond to devices outside cluster
|
# allow it to respond to devices outside cluster
|
||||||
- name: FTLCONF_dns_listeningMode
|
- name: FTLCONF_dns_listeningMode
|
||||||
value: single
|
value: single
|
||||||
|
|
||||||
|
# resolve wildcards
|
||||||
|
- name: FTLCONF_misc_dnsmasq_lines
|
||||||
|
value: address=/nightowl.strix.systems/192.168.1.88
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 53
|
- containerPort: 53
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
@ -152,7 +156,7 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
ingressClassName: haproxy
|
ingressClassName: haproxy
|
||||||
rules:
|
rules:
|
||||||
- host: "pihole.nightowl.hayst"
|
- host: "pihole.nightowl.strix.systems"
|
||||||
http:
|
http:
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- 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