apiVersion: apps/v1 kind: Deployment metadata: name: luanti-server spec: replicas: 1 selector: matchLabels: app: luanti template: metadata: labels: app: luanti spec: containers: - name: luanti-container image: lscr.io/linuxserver/luanti:latest ports: - containerPort: 30000 protocol: UDP - containerPort: 30000 protocol: TCP volumeMounts: - name: luanti-persistent-storage mountPath: /config/.minetest env: - name: CLI_ARGS value: "--gameid mineclonia" resources: limits: memory: "2Gi" volumes: - name: luanti-persistent-storage persistentVolumeClaim: claimName: luanti-pv-claim --- apiVersion: v1 kind: Service metadata: name: luanti-svc spec: selector: app: luanti ports: - port: 30000 targetPort: 30000 protocol: UDP name: luanti-udp - port: 30000 targetPort: 30000 protocol: TCP name: luanti-tcp type: LoadBalancer loadBalancerIP: 192.168.50.50 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: luanti-pv-claim labels: app: luanti spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi