Skip to content

Instantly share code, notes, and snippets.

@gbrlsnchs
Forked from itzg/survive.yaml
Created March 10, 2021 22:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gbrlsnchs/6d2b8feecb1efe56e4ba8c73a6bbfbc4 to your computer and use it in GitHub Desktop.
Save gbrlsnchs/6d2b8feecb1efe56e4ba8c73a6bbfbc4 to your computer and use it in GitHub Desktop.
Example kubernetes deployment of itzg/minecraft-server and itzg/mc-backup and annotation for itzg/mc-router
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
server: survive
name: survive
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
server: survive-backups
name: survive-backups
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 500Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
server: survive
name: survive
spec:
replicas: 1
selector:
matchLabels:
server: survive
template:
metadata:
labels:
server: survive
spec:
containers:
- name: mc
env:
- name: EULA
value: "TRUE"
- name: MOTD
value: Latest Release
- name: MODE
value: survival
- name: PVP
value: "false"
- name: MAX_MEMORY
value: "1G"
image: itzg/minecraft-server
imagePullPolicy: Always
stdin: true
tty: true
volumeMounts:
- mountPath: /data
name: survive
- name: cloudcmd
image: coderaiser/cloudcmd
volumeMounts:
- mountPath: /data
name: survive
args:
- --root
- /data
- --name
- survive
- --one-file-panel
securityContext:
runAsUser: 1000
- name: backup
image: itzg/mc-backup:latest
securityContext:
runAsUser: 1000
env:
- name: INTERVAL_SEC
value: "21600"
- name: BACKUP_NAME
value: survive
- name: PRUNE_BACKUPS_DAYS
value: "2"
volumeMounts:
- mountPath: /data
name: survive
readOnly: true
- mountPath: /backups
name: backups
restartPolicy: Always
volumes:
- name: survive
persistentVolumeClaim:
claimName: survive
- name: backups
persistentVolumeClaim:
claimName: survive-backups
---
apiVersion: v1
kind: Service
metadata:
labels:
service: survive
annotations:
mc-router.itzg.me/externalServerName: EXTERNAL_FQDN_GOES_HERE
name: survive
spec:
ports:
- name: mc-router
port: 25565
targetPort: 25565
selector:
server: survive
---
apiVersion: v1
kind: Service
metadata:
name: cloudcmd-survive
spec:
selector:
server: survive
ports:
- port: 8000
type: NodePort
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment