This directory contains files to create a local Kubernetes cluster using minikube.
The local minikube cluster facilitates the local deployment (for development/testing purposes) of the EOEPCA system and/or individual building blocks.
For k8s cluster adminstration the kubectl command must be installed. See Kubernetes website for installation instructions.
Alternatively, use helper script install-kubectl.sh...
$ bin/install-kubectl.sh
Minikube can be installed by following the instructions on the Minikube website.
Alternatively, use helper script setup-minikube.sh to download and install Minikube...
$ minikube/setup-minikube.sh
The setup-minikube.sh script retains the default (preferred) deployment of minikube as a docker container. Depending on the spec of your VM, you may experience performance issues with this default minikube deployment.
In this case you may find more success running minikube natively inside the VM using the 'none' driver, rather than the 'docker' driver. This can be achieved by running the script as follows...
$ minikube/setup-minikube.sh native
NOTE that the preferred and best tested approach is to rely upon the default 'docker' driver. It is the one recommended by the minikube team, noting that the 'native' driver has some limitations.
Or, see below for the alternative approach using k3s instead of minikube. k3s has the advantage that its installation/setup runs more quickly than minikube, and is more lightweight for constrained execution environments, such as within a VM. In addition, it is provided by Rancher and is thus sibling to the Rancher Kubernetes Engine (RKE)) that is used for the main cloud deployment.
k3s can be used as an alternative to minikube. k3s has the advantage that its installation/setup runs more quickly than minikube, and is more lightweight for constrained execution environments, such as within a VM.
In addition, k3s is provided by Rancher and is thus sibling to the Rancher Kubernetes Engine (RKE) that is used for the main cloud deployment.
$ minikube/setup-k3s.sh
NOTE: The setup-k3s.sh script selects the 'docker' container runtime, as an alternative to the k3s default of 'containerd'. This is a requirements of the Argo component of the ADES building block.
Once the Kubernetes cluster is provisioned, the next step is to proceed with the deployment of the EOEPCA system.