Browse Source

Add a basic kubernetes deployment file (#7979)

* Add a basic kubernetes deployment file
Loïc Blot 5 years ago
parent
commit
24cdbe9bf5
2 changed files with 55 additions and 0 deletions
  1. 2 0
      README.md
  2. 53 0
      misc/kubernetes.yml

+ 2 - 0
README.md

@@ -481,6 +481,8 @@ Data will be written to `/home/minetest/data` on the host, and configuration wil
 
 Note: If you don't understand the previous commands, please read the official Docker documentation before use.
 
+You can also host your minetest server inside a Kubernetes cluster. See our example implementation in `misc/kubernetes.yml`.
+
 
 Version scheme
 --------------

+ 53 - 0
misc/kubernetes.yml

@@ -0,0 +1,53 @@
+---
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    app: minetest
+  name: minetest
+  namespace: default
+spec:
+  selector:
+    matchLabels:
+      app: minetest
+  template:
+    metadata:
+      labels:
+        app: minetest
+    spec:
+      containers:
+      - image: registry.gitlab.com/minetest/minetest/server:master
+        name: minetest
+        ports:
+        - containerPort: 30000
+          protocol: UDP
+        volumeMounts:
+        - mountPath: /var/lib/minetest
+          name: minetest-data
+        - mountPath: /etc/minetest
+          name: config
+      restartPolicy: Always
+      volumes:
+      - name: minetest-data
+        persistentVolumeClaim:
+          claimName: minetest-data
+      - configMap:
+          defaultMode: 420
+          name: minetest
+        name: config
+---
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: minetest
+  name: minetest
+  namespace: default
+spec:
+  ports:
+  - name: minetest
+    port: 30000
+    protocol: UDP
+  selector:
+    app: minetest
+  type: NodePort