Install Grafana Loki with Helm3
Helm is a template based package management system for kubernetes applications.
Wath is new in Helm3
The most important change in Helm3, tiller was removed completely. Tiller was the server component (rinninf in a pod on the Kubernetes cluster) for helm’s cli. When Helm 2 was developed, Kubernetes did not yet have role-based access control (RBAC) therefore to achieve mentioned goal, Helm had to take care of that itself. After Kubernetes 1.6 RBAC is enabled by default so you had to create a serviceaccount for tiller. With Tiller gone, Helm permissions are now simply evaluated using kubeconfig file.
Tiller was also used as a central hub for Helm release information and for maintaining the Helm state. In Helm 3 the same information are fetched directly from Kubernetes API Server and Charts are rendered client-side.
Helm 2 stored the informations of the releases in configmaps now in Helm 3 that is stored in secrets for better security.
Install Chart with Helm3
The removal of Tiller means you didn’t need a helm init
for initializing the tiller.
helm repo add loki https://grafana.github.io/loki/charts
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo update
kubectl create namespace loki-stackhtop
helm upgrade --install loki --namespace=loki-stack loki/loki-stack
elm3 upgrade --install grafana --namespace=loki-stack stable/grafana
Namespaces are important now. helm ls
won’t show anything, we have to specify the namespace with it:
helm -n loki-stack ls
Access Grafana Interface
kubectl get secret -n loki-stack grafana -o jsonpath="{.data.admin-password}" | base64 --decode
kubectl port-forward -n loki-stack service/grafana 3000:80
# go to localhost:3000
# add loki datasource URL http://loki:3100 and press Save & Test