Requirements
Table of Contents
VM Hardware Requirements
We have only tested on machines with the the following specs. All other configurations are not officially supported.
- OS: Debian 11 LTS or Debian 11 on the Windows Subsystem for Linux (WSL).
- 4 processors
- 16 GB RAM
- 100 GB disk
You could probably do 3 processors and 10 GB RAM, just might need to change how many CPUs and how much memory you give to minikube (and then cross your fingers you don't get OOMErrors from Kubernetes :P)
Additionally, only x64 architecture has been tested and is supported. ARM platforms (e.g., Mac devives with M* chips) are not currently supported but we intend to support these in the future.
Do not install the following requirements as root! Minikube is particular does not like to be run as root.
Software Requirements
K3s is the only officially supported way to install Nemesis. Installation instructions for Docker Desktop and Minikube do exist but may not be up to date.
The following requirements need to be installed:
K3s
k3s is a lightweight Kubernetes distribution that simplifies the deployment and management of Kubernetes clusters.
Install k3s
Install k3s with the following command:
curl -sfL https://get.k3s.io | sh -
After installing k3s, modify your kubeconfig to use the k3s Kubernetes configuration with the following commands:
export KUBECONFIG=~/.kube/config
mkdir ~/.kube 2> /dev/null
sudo k3s kubectl config view --raw > "$KUBECONFIG"
chmod 600 "$KUBECONFIG"
If you want the Nemesis to run on a different port, you can do with these instructions.
Install Helm
Follow the Helm installation guide for your specific operating system: Installing Helm.
The installation instructions for Debian are replicated here:
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
Install Dependencies
Install the Elastic operator with the following Helm command to manage Elasticsearch in the default
namespace:
helm install elastic-operator eck-operator --repo https://helm.elastic.co --namespace elastic-system --create-namespace --set managedNamespaces='{default}'
Validate Dependencies Installation
To ensure you're ready for the next step, run the command below and ensure a deployment exists for "traefik" and "elastic-operator" (it may take a minute for them to appear after running the helm
command).
$ helm ls -A
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
elastic-operator elastic-system 1 2024-04-22 10:42:02.9517585 -0400 EDT deployed eck-operator-2.12.1 2.12.1
traefik kube-system 1 2024-04-19 17:56:18.401408836 +0000 UTC deployed traefik-25.0.2+up25.0.0 v2.10.5
traefik-crd kube-system 1 2024-04-19 17:56:17.382691893 +0000 UTC deployed traefik-crd-25.0.2+up25.0.0 v2.10.5