Setting up the prerequisites¶
This guide describes how to install the prerequisites required to deploy Carbyne Stack.
Warning
Carbyne Stack has been tested using the exact versions of the tools specified below. Deviating from this battle tested configuration may create all kinds of issues.
Prerequisites¶
This part of the tutorial is developed and tested with Ubuntu 22.04. Please refer to this link for Ubuntu installation steps.
Platform Setup Prerequisites¶
Software to be installed throughout this tutorial step:
- go 1.18
- Docker Engine v25.0.5
- Kind v0.17.0
- kubectl v1.26.1
- Helm v3.11.1
Please set the following software version strings before you continue with our installation instructions.
export go_ver=1.18
export dock_ver=5:25.0.5-1~ubuntu.22.04~jammy
export kind_ver=0.17.0
export kub_ver=1.26.1
export helm_ver=3.11.1
go¶
The go language is a prerequisite for the Kind package. In this guideline go 1.18 will be installed. Detailed installation instructions for go can be found here. Alternatively, you can install go by following the instructions below.
-
Download go language for Linux.
wget https://go.dev/dl/go$go_ver.linux-amd64.tar.gz
-
Extract to
/usr/local
. You may need to provide the password for sudo permissions.sudo tar -C /usr/local -xzf go$go_ver.linux-amd64.tar.gz
-
Check if there is a
go
folder in/usr/local
.ls /usr/local
-
Update
PATH
for go with the commands below.echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc
-
Verify if
PATH
is updated. Now go is successfully installed.go version
Docker Engine¶
Detailed installation instructions for Docker Engine can be found here. Alternatively, you can install Docker Engine by following the instructions below.
-
Update repository index and install dependencies.
sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release
-
Add Docker’s official GPG key.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
Set up the stable repository.
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
Install Docker Engine with the commands below.
sudo apt-get update sudo apt-get install docker-ce=$dock_ver docker-ce-cli=$dock_ver containerd.io
-
Manage Docker as a non-root user.
sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
-
Verify the installation.
docker run hello-world
Kind¶
Detailed installation instructions for Kind can be found here. Alternatively, you can install Kind by following the instructions below.
-
Install Kind
go install sigs.k8s.io/kind@v$kind_ver
-
Add the local go path to
PATH
. You may have a different go path. Please checkGOPATH
withgo env
and replace~/go
in the below command with yourGOPATH
.echo 'export PATH=$PATH:~/go/bin' >> ~/.bashrc source ~/.bashrc
-
Verify Kind installation.
kind version
kubectl¶
Detailed installation instructions for kubectl can be found here. Alternatively, you can install kubectl by following the instructions below.
-
Download kubectl
curl -LO https://dl.k8s.io/release/v$kub_ver/bin/linux/amd64/kubectl
-
Install kubectl with the command below.
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
-
Verify the installation.
kubectl version --client
Helm¶
Detailed installation instructions for the Helm package manager can be found here. Alternatively, you can install Helm by following the instructions below.
-
Download the Helm package manager.
wget https://get.helm.sh/helm-v$helm_ver-linux-amd64.tar.gz
-
Unpack the downloaded compressed file.
tar -zxvf helm-v$helm_ver-linux-amd64.tar.gz
-
Move the unpacked content (the
helm
file) toPATH
.sudo mv linux-amd64/helm /usr/local/bin/helm
-
Verify your installation.
helm version
Stack Deployment Prerequisites¶
Software to be installed:
- Helmfile v0.142.0
- Helm Diff Plugin v3.1.3
- OpenJDK 8
Please set the following software version strings before you continue with our installation instructions.
export helmfile_ver=0.142.0
export helmdiff_ver=3.1.3
Helmfile¶
Detailed installation instructions for the Helmfile package can be found here. Alternatively, you can install Helmfile by following the instructions below.
-
Download the Helmfile package.
wget https://github.com/roboll/helmfile/releases/download/v$helmfile_ver/helmfile_linux_amd64
-
Give execution permission to Helmfile.
chmod +x helmfile_linux_amd64
-
Move Helmfile to
PATH
.sudo mv helmfile_linux_amd64 /usr/local/bin/helmfile
-
Verify your installation.
helmfile -v
Helm Diff Plugin¶
Detailed installation instructions for the Helm Diff plugin can be found here. Alternatively, you can install Helm Diff by following the instructions below.
-
Download Helm Diff plugin compressed file.
wget https://github.com/databus23/helm-diff/releases/download/v$helmdiff_ver/helm-diff-linux.tgz
-
Unpack the compressed file.
tar -zxvf helm-diff-linux.tgz
-
Put the unpacked contents into the helm plugins folder. You may have a different folder. Please check
HELM_PLUGINS
withhelm env
command. Please create the folders if they do not exist. Note that thediff
folder must not exist in the helm plugins folder before executing the command below.mv diff ~/.local/share/helm/plugins/diff
-
Verify your installation.
helm plugin list
OpenJDK¶
Tip
For easy installation and management of parallel JDK versions check sdkman.
Detailed installation instructions for OpenJDK can be found here. Alternatively, you can install OpenJDK by following the instructions below.
-
Install with the command.
sudo apt-get install openjdk-11-jdk
-
Verify your installation.
java -version