Add a basic kubernetes deployment file (#7979) 7982/head
authorLoïc Blot <nerzhul@users.noreply.github.com>
Sat, 15 Dec 2018 14:12:40 +0000 (15:12 +0100)
committerGitHub <noreply@github.com>
Sat, 15 Dec 2018 14:12:40 +0000 (15:12 +0100)
* Add a basic kubernetes deployment file

README.md
misc/kubernetes.yml [new file with mode: 0644]

index a54a915ed62f71b4476baa378499434f1e899adf..c0160ca00240886e71f630cf52277d00e96a53c3 100644 (file)
--- a/README.md
+++ b/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
 --------------
diff --git a/misc/kubernetes.yml b/misc/kubernetes.yml
new file mode 100644 (file)
index 0000000..1a956ab
--- /dev/null
@@ -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