GitHub Solarhesskubernetesminecraftserver A Demonstration Of How To Run A Minecraft On Kubernetes

From Yoga Asanas
Jump to: navigation, search

This demonstrates how to run Minecraft in Kubernetes. It builds on the work of the itzg Minecraft Server Docker Image to create a docker container in kubernetes.



We also use Helm to make installation, and customization, a breeze.



This repository demonstrates how to run in a local kubernetes cluster using local disks.



How To Install



- Have a Kubernetes cluster, be able to SSH to the nodes in your cluster - Have Helm installed - Have your kubeconfig command line set up to talk to your cluster - Have cluster admin privileges on this cluster - Clone this repository to your computer



Step 1: Create a directory for local files



SSH to one of the nodes in your kubernetes cluster. Create a directory where you want Minecraft files to exist.



Get the kubernetes node name name of the host machine on which you just added the directory.



Edit values.yaml. Update Line 7 to your node's hostname. If you used a different path for your worldfile, update volume.path in values.yaml.



Step 2: Configure your Minecraft Server



The itzg Minecraft Server Image Docker Image enables you to configure settings in the minecraft servers by setting environment variables.



You can edit helm/minecraft/deployment.yaml to add or change environment variables for your purposes. See lines 30-35 for examples. See the minecraft-server docker image page for documentation on configuring your server.



We've included just a couple of the most common configurations in values.yaml like gamemode, message of the day, and port.



Step 3: Adjust port



Choose one of these two options:



1. Widen the range of ports that kube apiserver accepts to allow 25565 The way you would do this differs between the OS and Kubernetes distrobution that you're using. This is one way if you are using k3s, at least on linux.



2. Change the port Update the values.yaml file to change the port to 30565, or any other valid port you wish.



Note: You may need to open the port if your host system has a firewall installed.



Step 4: Helm install



Now, apply the configuration to Kubernetes. cd to the project root and run:



Step 5: Connect



Suppose that your kubernetes node has a public ip address of 192.168.1.203.



If you chose option 1 in Step 3 then you do not need to specify a port when connecting to your server. For this example you would only need to connect to 192.168.1.203.

My blog