2021年4月30日金曜日

Grafana を helm chart で構築してみた

Grafana を helm chart で構築してみた

環境

Grafana を helm chart で k8s 上に構築してみました
アクセスには NodePort を使います

環境

  • kubernetes 1.20.4
  • helm 3.5.2
  • Grafana helm chart 6.7.4

Grafana の helm repo の インストール

  • helm repo add grafana https://grafana.github.io/helm-charts
  • helm repo update

普通に使う

まずは普通に使います
構築して NodePort でアクセスしてみます

  • helm install my-release grafana/grafana --set service.type=NodePort
  • kubectl get svc
AME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE  
kubernetes           ClusterIP   10.96.0.1        <none>        443/TCP        14d  
my-release-grafana   NodePort    10.107.144.202   <none>        80:32483/TCP   8m45s

grafana の Pod がデプロイされたノードの IP を調べます
そして http://node-ip:32483 にアクセスすると Grafana の UI が表示されることが確認できます

ログインする

admin ユーザにでログインします
パスワードは secret に登録されているので以下のコマンドで取得できます

  • kubectl get secret --namespace default my-release-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo

ingress 経由で使う

よくあるケースは ingress 経由で使う場合です
ポイントは ingress.hosts と ingress.path で宛先を設定する点です
またサブディレクトリでアクセスしたい場合は serve_from_sub_path を使います

  • vim values.yml
grafana.ini:  
  server:  
    protocol: http  
    domain: localhost  
    root_url: "%(protocol)s://%(domain)s:3000/-/grafana"  
    serve_from_sub_path: true  
ingress:  
  enabled: true  
  hosts:  
    - "grafana.example.com"  
  path: "/-/grafana"  
service:  
  type: NodePort  
  nodePort: 32080

set だと長くなるなるので設定は values.yml を使っています

デプロイしてみましょう

  • helm install my-release grafana/grafana -f values.yml

これで http://node-ip:32080 にアクセスすれば Grafana にアクセスできます
ログイン方法は先程紹介したとおりです

最後に

ログインでリダイレクトされる場合は cookies を削除しましょう

参考サイト

0 件のコメント:

コメントを投稿