konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

【Nutanix Karbon】Grafanaをデプロイして kubernetes とつないでみる

Karbon による Kubernetesクラスタ環境の構築と接続までできたので、ひとつKarbon環境へアプリのデプロイにチャレンジです

f:id:konchangakita:20200523005205p:plain

Grafanaよく知らないけど

Kubernetes でよく使われているという時系列データ可視化ツールとのことです
コンテナ形式でも提供されているようなので、Karbon上にGrafana をデプロイし、Karbon環境のリソース可視化にチャレンジしてみたいと思います


Grafanaのデプロイ

Kuberunetes 初心者なので、何が Kubernetes 標準で、何が Karbon 独自なのかはよく分かってないのですが、Karbon環境ではprometheus が動いていたので
f:id:konchangakita:20200523005443p:plain

Grafanaデプロイ用の yaml作成

簡単な yaml ファイルを見よう見まねのコピペで作成、yaml 慣れない。。。

apiVersion: v1
kind: Service
metadata:
  name: grafana
spec:
  type: NodePort
  selector:
    app: grafana
  ports:
  - name: grafana
    port: 3000
    nodePort: 30300
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: grafana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      name: grafana
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:latest
        ports:
        - containerPort: 3000

(この時のGrafana のLatestは7.0.0でした)

yaml 実行してデプロイ
PS > kubectl apply -f .\grafana.yaml

無事エラーも出ることなくデプロイされた模様

PS > kubectl get all
NAME                           READY   STATUS    RESTARTS   AGE
pod/grafana-696fc66c87-74hrt   1/1     Running   0          25s

NAME              TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/grafana   NodePort   192.199.36.69   <none>        3000:30300/TCP   26s

NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/grafana   1/1     1            1           25s

NAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/grafana-696fc66c87   1         1         1       25s


Grafana の画面にアクセス

http://Karbon クラスターIP:3033 へブラウザアクセスしてみます
f:id:konchangakita:20200522232455p:plain
2-3分 Loading画面で待たされます

きましたー!なんだかオシャレぽい画面
デフォルトの [username / Password] は [admin / admin] です
f:id:konchangakita:20200522232612p:plain

はじめはもちろん空っぽ状態ですので、データソースとして Karbon上のPrometheusのを追加してやりましょう

データソースの追加

左の「ギアアイコン」→ Data Source
f:id:konchangakita:20200522232911p:plain

Add data source
f:id:konchangakita:20200522233315p:plain

Prometheus - Select
f:id:konchangakita:20200522233350p:plain

URL情報は Karbon を参照します
f:id:konchangakita:20200522233911p:plain

prometheus-k8sIPアドレスを確認して入力です

PS > kubectl get services -A

f:id:konchangakita:20200522233643p:plain

下の方の [Save & Test] をクリックして、グリーンで「Data source is working」って出てくれば OK
f:id:konchangakita:20200522234632p:plain

次に左の「+」→ Import
f:id:konchangakita:20200522235148p:plain

Import する番号は、「10000」になります
f:id:konchangakita:20200523000142p:plain:w340

どうやらCluster Monitoring for Kubernetesというこの番号っぽいです
https://grafana.com/grafana/dashboards/10000

そうするとなんだか画面が変わります
下の方の Prometheus の欄で Prometheus を選んで Import です
f:id:konchangakita:20200523001011p:plain

おお、すげー
簡単にカラフルなグラフィカルなのがでてきました
f:id:konchangakita:20200523001758p:plain
f:id:konchangakita:20200523002051p:plain
ちゃんとデータもとれているようです
さて、Kubernetes の初歩とベース環境はできたような気がするので
コンテナ、Kubernetes App開発環境を使って、さぁXi IoTのランタイムやAppを作ろう


Nutanix Karbon公式ページこちら
www.nutanix.com