mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-01 14:47:38 +00:00
136 lines
3.7 KiB
Markdown
136 lines
3.7 KiB
Markdown
|
# Prerequisites to develop and test Helm Charts
|
||
|
|
||
|
## 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
|