apps
adguard
audiobookshelf
code-server
files
finance
grafana
homeassistant
immich
kitchenowl
linkding
media
minecraft
README.md
curseforge.sealedsecret.yaml
job.yaml
kustomization.yaml
namespace.yaml
pvc.yaml
rsync.configmap.yaml
service.yaml
ntfy
paperless
recipes
rss
stump
todos
whoami
infrastructure
kluster-deployments
.gitignore
README.md
renovate.json
787 B
787 B
Setup
Because minecraft is quite sensitive to io performance, we want the data to be stored on a local disk. But hostpath is not well supported in talos (and is not persistent), so we use an ephemeral volume instead. In order to do this, we create an emptyDir volume and mount it to the pod.
We use an initContaier that copies the data to the local storage. Afterwards, copying from the local storage back to the persistent storage is handled by a preStop lifecycle event.
This way, we can have the best of both worlds: fast local storage and persistent storage.
Sending a command
kubectl exec -it -n minecraft deploy/minecraft-server -- /bin/bash
mc-send-to-console /help
# or directly
kubectl exec -it -n minecraft deploy/minecraft-server -- mc-send-to-console /help