Helm

Revision as of 18:59, 10 July 2019 by Adam (talk | contribs) (Bevezető)

Revision as of 18:59, 10 July 2019 by Adam (talk | contribs) (Bevezető)

Bevezető

A Helm a Kubernetes-hez készült csomag kezelő, mint pl a RedHat világában a yum ill dnf parancsok. A Helm mögé olyan nagy cégek sorakoztak föl mint pl a Google vagy a Microsoft. A Helm alapja az úgynevezett Helm chart, mely egy telepítési leírója egy adott szoftver csomagnak. Egy adott Helm chart telepítésével egy mozdulattal tudunk előre gyártott, összetett szoftver konfigurációt telepíteni egy Kubernetes klaszterbe. Pl a Prometheus Helm-chart tartalmazza magát a Prometheus szervert, az Alert manager-t, a node-exporter-t, meg még jó pár komponenst, amiket a chart varázsütésre feltelepít a Kubernetes klaszterbe, úgy hogy az összes komponens működésre készen konfigurálva van, úgy hogy a Helm az összes szükséges Kubernetes objektumot létrehozza, beleértve a RoleBinding-okat és Ingress komponenseket is.

A Helm rendszer (3 verzió előtt) négy fő komponensből áll.

  • Helm repository: Ez a docker hub-hoz hasonlatos repository, ahol a Docker-hub-hoz hasonlóan tudunk Helm-chart-okat keresni, letölteni. Ez az elsődleges forrása a chart-ok beszerzésének.
  • Helm parancssor:
  • Helm chart:
  • Tiller:
ClipCapIt-190710-204945.PNG


Telepítés

Helm letöltése: https://helm.sh/docs/using_helm/#installing-helm

A helm binárisra létre kell hozni egy sim-linket a bin mappában:

# ln -s /home/adam/Programs/helm/helm2/helm /usr/bin/helm


A Tiller-t a helm

# helm init
$HELM_HOME has been configured at /root/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
ImportantIcon.png

Note
A Tiller


# kubectl get all -n kube-system
NAME                                    READY   STATUS    RESTARTS   AGE
pod/tiller-deploy-775c9dcf94-x429k      1/1     Running   0          5m

NAME                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
service/tiller-deploy   ClusterIP   172.30.26.107   <none>        44134/TCP   5m

NAME                            DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/tiller-deploy   1         1         1            1           5m

NAME                                       DESIRED   CURRENT   READY   AGE
replicaset.apps/tiller-deploy-775c9dcf94   1         1         1       5m

Prometheus telepítése

https://hub.helm.sh/

# helm search prometheus
NAME                                 	CHART VERSION	APP VERSION	DESCRIPTION                                                 
stable/prometheus                    	8.14.0       	2.11.1     	Prometheus is a monitoring system and time series database. 


# helm inspect values stable/prometheus
rbac:
  create: true
imagePullSecrets:
# - name: "image-pull-secret"
## Define serviceAccount names for components. Defaults to component's fully qualified name.
##
serviceAccounts:
  alertmanager:
    create: true
....


PROM_ADDR=mon.$(minishfit ip).nip.io
AM_ADDR=alertmanager.$(minishfit ip).nip.io