In this guide, we'll use Rocky Linux. It should work just like RHEL, but we can't promise it will always do so.
Instructions
-
In Proxmox, make a VM with 4 cores and 8GB of RAM. Make sure to choose 'host' as the CPU type.
-
Make the VM and start it. Choose to install Rocky Linux 9.2.
-
Follow the setup steps. Pick your hard drive and give the root password. Then, hit “Start Installation” to go on.
-
Restart once the setup is done.
-
Sign in as root with your password. Type
ip addr
to find out your IP address.
-
Use SSH to connect to it. You'll need the IP and your login info.
-
Type
dnf -y install podman
to set up Docker / Podman. -
Type
curl -sfL https://get.k3s.io | sh -
to set up k3s. -
Type
curl -sfL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | sh -
to set up Helm. -
Type
helm repo add united-manufacturing-hub https://repo.umh.app/
to add UMH to your Helm repo. -
Type
kubectl create namespace united-manufacturing-hub
to make a Kubernetes namespace. -
Type helm install united-manufacturing-hub united-manufacturing-hub/united-manufacturing-hub --kubeconfig /etc/rancher/k3s/k3s.yaml -n united-manufacturing-hub` to set up the UMH.
-
Type the following to allow outside access to the Kubernetes Management Port and allow the Kubernetes pods to see each other:
firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --zone=trusted --add-source=10.42.0.0/16 # pods firewall-cmd --permanent --zone=trusted --add-source=10.43.0.0/16 # services firewall-cmd --reload
Remember, you need to open the port for any services you want to use, like 1883 for MQTT.
If you do not use the commands on line 2 and 3, you will get an error like
dial tcp 10.42.0.80:9092: connect: no route to host
-
You're all set! You can now use it and add it to Lens: https://umh.docs.umh.app/docs/production-guide/installation/flatcar-installation-bare-metal/#import-the-cluster-configuration
Fun-fact: our recommended operating system "flatcar" is actually a fork of CoreOS, the Operating System behind OpenShift, and its based on RHEL. So you can leverage most of our configuration and provisioning tools and only need to make here and there some smaller changes (e.g., the firewall-cmd commands).