SUSE Rancher recommends installing SUSE Rancher server on a Kubernetes cluster. In this white paper, a single-node Kubernetes cluster is created on the Linux workstation VM and then SUSE Rancher server is installed using the Helm package manager for Kubernetes. For high-availability, it is recommended to have a three-node Kubernetes cluster. Be mindful of the networking ports needed for the Kubernetes cluster to work. For more information, see Port Requirements.
Option1 $ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash Option2 $ curl -sfL https://get.helm.sh/helm-v3.5.3-linux-amd64.tar.gz -o helm.tgz $ tar xf helm.tgz $ mv linux-amd64/helm /usr/local/bin/ $ chmod +x usr/local/bin/helm $ helm version |
$ curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl $ chmod +x kubectl $ mv kubectl /usr/local/bin/ $ kubectl version |
$ curl -sfL https://get.rke2.io | sh - |
This installer script will install rke2-server service and the rke2 binary.
$ systemctl enable rke2-server.service $ systemctl start rke2-server.service $ systemctl status rke2-server.service |
The kubeconfig file will be written to /etc/rancher/rke2/rke2.yaml.
$ export KUBECONFIG=/etc/rancher/rke2/rke2.yaml |
$ kubectl get componentstatuses |
Monitor the progress of the installation:
$ watch -c "kubectl get deployments -A" |
$ kubectl get nodes NAME STATUS ROLES AGE VERSION 192.168.153.111 Ready controlplane,etcd,worker 48m v1.22.5+rke2r1 |
Note: Monitor the progress of the installation: kubectl get all -A
$ helm repo add rancher-stable https://releases.rancher.com/server-charts/stable |
$ kubectl create namespace cattle-system |
$ kubectl create namespace cert-manager $ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml |
$ helm repo add jetstack https://charts.jetstack.io |
$ helm repo update |
Use the latest version of cert-manager from github.
$ helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version v1.5.1 |
$ kubectl get pods --namespace cert-manager NAME READY STATUS RESTARTS AGE cert-manager-75cf57777c-ztw9f 1/1 Running 0 2m2s cert-manager-cainjector-f54c57bf8-wkc2z 1/1 Running 0 2m2s cert-manager-webhook-76794c6967-84gb6 1/1 Running 0 2m2s |
$ helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher-ui.flex.com --set bootstrapPassword=admin |
$ kubectl get pods --namespace cattle-system NAME READY STATUS RESTARTS AGE rancher-7f4df87477-mfcxc 1/1 Running 1 36d rancher-webhook-b5b7b76c4-r9nwn 1/1 Running 1 36d |
Result: Rancher is up and running.
Note: Monitor the progress of the installation: kubectl get all -A
Figure 6. SUSE Rancher server
Perform the following steps to deploy an RKE2 Kubernetes cluster using the SUSE Rancher Server UI.
The new cluster is registered and is displayed in the Cluster tab.