The procedure has been tested on a ubuntu 22.04LTS 64GB Ram.



1- RKE2 installation

RKE2 INSTALLATION


RKE2 config

CNI configuration


Install multus and calico or  CNI

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)

 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:


 ☑️ 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