
The procedure has been tested on a ubuntu 22.04LTS 64GB Ram.
1- RKE2 installation
RKE2 config
CNI configuration
Install multus and calico or CNI1- 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)
Install metallb and configure
2- Install local_path storage class
1. 🛠️ Apply the official manifests
Use this command to install the default local-path-provisioner:
This deploys:
A StorageClass named local-path
A local-path-provisioner DaemonSet
The 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):
You can verify it with:
Look for (default) in the local-path row.
3 Install cert-manager
Install cert-manager using the official manifests:
📄 Create a ClusterIssuer for Let's Encrypt
Create a file named cluster-issuer.yaml:
4 Install the Kubernetes Dashboard
Apply the official dashboard manifest:
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:
Apply it:
Check the address exposed and add in the /etc/hosts as dashboard.da
🧠 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:
Apply it:
🔑 Get the Login Token
More secure option is to make a token that expires.
The token will expire.
Copy the token and use it to log in at https://dashboard.da
Create a Secret Token (manually)
Create a ServiceAccount
Bind It to the Cluster Role (e.g. cluster-admin)
Create a file dashboard-token.yaml:
Wait & Retrieve the Token
It may take a few seconds for Kubernetes to populate the token. Then:
4 Install Argo CD
Install Argo CD in the argocd namespace:
Expose Argo CD with an Ingress
🔹 Ingress with NGINX
Create a file argocd-ingress.yaml:
prepare argocd_ingress.yaml
Apply it:
Retrieve initial password
connect to UI (admin and password)
see the address
🧠 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
Install EPIK8s backend services
Install EPIK8s Beamline