The procedure has been tested on a ubuntu 22.04LTS 64GB Ram.
1- RKE2 installation
RKE2 INSTALLATION
RKE2 config
CNI configuration
/etc/rancher/rke2/config.yaml
1- Install metallb (LoadBalancer)
This pass will be possible to expose some address to the external of the cluster.
Prepare metallb_config.yaml
copy the following content (by using free IP ranges where your cluster uses)
metallb_config.yaml
Install metallb and configure
Shell Command
2- Install local_path storage class
1. 🛠️ Apply the official manifests
Use this command to install the default local-path-provisioner:
Shell Command
This deploys:
A
StorageClassnamedlocal-pathA
local-path-provisionerDaemonSetThe necessary RBAC and helper scripts
☑️ Set it as the default (optional)
To make local-path the default StorageClass (so you don’t need to specify it in every PVC):
Shell Command
You can verify it with:
Shell Command
Look for (default) in the local-path row.
3 Install cert-manager
Install cert-manager using the official manifests:
Shell Command
📄 Create a ClusterIssuer for Let's Encrypt
Create a file named cluster-issuer.yaml:
YAML MANIFEST
4 Install the Kubernetes Dashboard
Apply the official dashboard manifest:
Shell Command
This will install the dashboard into the kubernetes-dashboard namespace.
🌍 Expose the Dashboard with an Ingress
Option for NGINX
Create a file dashboard-ingress.yaml:
YAML MANIFEST
Apply it:
Shell Command
Check the address exposed and add in the /etc/hosts as dashboard.da
Shell Command
🧠 You must configure a DNS entry or /etc/hosts pointing dashboard.da to your ingress controller IP.
🔐 Create a ServiceAccount + ClusterRoleBinding
Create an admin user:
YAML MANIFEST
Apply it:
Shell Command
🔑 Get the Login Token
More secure option is to make a token that expires.
The token will expire.
Shell Command
Copy the token and use it to log in at https://dashboard.da
Create a Secret Token (manually)
Create a ServiceAccount
Shell Command
Bind It to the Cluster Role (e.g. cluster-admin)
Shell Command
Create a file dashboard-token.yaml:
YAML MANIFEST
Shell Command
Wait & Retrieve the Token
It may take a few seconds for Kubernetes to populate the token. Then:
Shell Command
4 Install Argo CD
Install Argo CD in the argocd namespace:
Shell Command
Expose Argo CD with an Ingress
🔹 Ingress with NGINX
Create a file argocd-ingress.yaml:
prepare argocd_ingress.yaml
argocd_ingress.yaml
Apply it:
RKE
Retrieve initial password
RKE
connect to UI (admin and password)
see the address
Shell Command
🧠 You must configure a DNS entry or /etc/hosts pointing argocd.da (or whatever) with your ingress controller IP.
Change the password! the inital password wont work for long