2024-10-04 10:50:23 +02:00
---
weight: 0
title: Requirements
menu:
docs:
weight: 1
parent: helm
aliases:
- /helm/requirements/index.html
---
2024-09-20 16:11:23 +02:00
## Kubernetes Cluster
You will need to create a Kubernetes cluster locally using [minikube ](https://kubernetes.io/docs/tasks/tools/install-minikube ), [microk8s ](https://microk8s.io ), [kind ](https://kind.sigs.k8s.io ), [k3s ](https://k3s.io ) or other tools.
Or use Kubernetes cluster in [EKS ](https://aws.amazon.com/eks ), [GKE ](https://cloud.google.com/kubernetes-engine ), [AKS ](https://docs.microsoft.com/en-us/azure/aks ), [DOKS ](https://www.digitalocean.com/products/kubernetes ) or other cloud provider.
## Install Docker-CE
Follow instructions of page for install Docker-CE.
* Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/
* Debian: https://docs.docker.com/install/linux/docker-ce/debian/
* CentOS: https://docs.docker.com/install/linux/docker-ce/centos/
* MacOS: https://docs.docker.com/docker-for-mac/install/
Start the Docker service, configure Docker to boot up with the OS and add your user to the Docker group.
```bash
# Start the Docker service
sudo systemctl start docker
# Configure Docker to boot up with the OS
sudo systemctl enable docker
# Add your user to the Docker group
sudo usermod -aG docker $USER
sudo setfacl -m user:$USER:rw /var/run/docker.sock
```
Source: https://docs.docker.com/engine/install/linux-postinstall/#configure-docker-to-start-on-boot
## Install Kubectl
Simple shell function for Kubectl installation in Linux 64 bits. Copy and paste this code:
```bash
sudo su
VERSION=v1.22.2
KUBECTL_BIN=kubectl
function install_kubectl {
if [ -z $(which $KUBECTL_BIN) ]; then
curl -LO https://storage.googleapis.com/kubernetes-release/release/$VERSION/bin/linux/amd64/$KUBECTL_BIN
chmod +x ${KUBECTL_BIN}
sudo mv ${KUBECTL_BIN} /usr/local/bin/${KUBECTL_BIN}
sudo ln -sf /usr/local/bin/${KUBECTL_BIN} /usr/bin/${KUBECTL_BIN}
else
echo "Kubectl is most likely installed"
fi
}
install_kubectl
which kubectl
kubectl version --client
exit
```
Kubectl documentation:
https://kubernetes.io/docs/reference/kubectl/overview/
**Credits:** Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/
https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course
## Helm Docs
Run the following commands to install ``helm-docs``.
```bash
HELM_DOCS_VERSION=1.5.0
HELM_DOCS_PACKAGE=helm-docs_``$HELM_DOCS_VERSION``_linux_x86_64.tar.gz
cd /tmp
wget https://github.com/norwoodj/helm-docs/releases/download/v$HELM_DOCS_VERSION/$HELM_DOCS_PACKAGE
tar xzvf $HELM_DOCS_PACKAGE
sudo mv helm-docs /usr/local/bin/
sudo chmod +rx /usr/local/bin/helm-docs
helm-docs --version
```
Documentation: https://github.com/norwoodj/helm-docs
The documentation generated by ``helm-docs`` is based on the contents of the ``values.yaml``, ``README.md.gotmpl`` and ``Chart.yaml`` file. It tries to overwrite the contents of the ``README.md`` file within the chart directory.
## Install Helm 3
Execute these commands to install helm 3.14+.
```bash
sudo su
HELM_TAR_FILE=helm-v3.15.3-linux-amd64.tar.gz
HELM_URL=https://get.helm.sh
HELM_BIN=helm3
function install_helm3 {
if [ -z $(which $HELM_BIN) ]; then
wget ${HELM_URL}/${HELM_TAR_FILE}
tar -xvzf ${HELM_TAR_FILE}
chmod +x linux-amd64/helm
sudo cp linux-amd64/helm /usr/local/bin/$HELM_BIN
sudo ln -sfn /usr/local/bin/$HELM_BIN /usr/local/bin/helm
rm -rf ${HELM_TAR_FILE} linux-amd64
echo -e "\nwhich ${HELM_BIN}"
which ${HELM_BIN}
else
echo "Helm 3 is most likely installed"
fi
}
install_helm3
which $HELM_BIN
$HELM_BIN version
exit
```
Documentation: https://helm.sh/docs/
**Credits**: Juan Pablo Perez - https://www.linkedin.com/in/juanpabloperezpeelmicro/
https://github.com/peelmicro/learn-devops-the-complete-kubernetes-course