SREのためのMetrics-driven transformation(MDT) その2

みなさんこんにちは、レッドハットでソリューションアーキテクトをしている暮林といいます。

SREのためのMetrics-driven transformation(MDT) というタイトルで数回の連載をしたいと思います。といって結構時間が立ってしまいましたが、今回が二回目です。

前回の記事はこちら

rheb.hatenablog.com

Pelorusのインストール

OpenShiftを用意して下記の手順の通りやれば動きます!というはずがなかなか苦戦してしまったのでワークアラウンドが必要でした。 (なので今回はインストールまでとなります)

pelorus.readthedocs.io

必須条件は下記のようになっています。OpenShift4.9でも動きましたが、Grafana Operator周りで多少の小細工が必要です。

  • An OpenShift 3.11 or higher Environment
  • A machine from which to run the install (usually your laptop)
  • The OpenShift Command Line Tool (oc)
  • Helm3
  • jq
  • git

元の手順は下記のとおりですがPythonバージョン周りで問題が解決していないため、今回はMasterブランチを利用します。

# clone the repo (you can use a different release or clone from master if you wish)
git clone --depth 1 --branch v1.3.0 https://github.com/konveyor/pelorus
cd pelorus
oc create namespace pelorus
helm install operators charts/operators --namespace pelorus
# Verify the operators are completely installed before installing the pelorus helm chart
helm install pelorus charts/pelorus --namespace pelorus

ワークアラウンドを含めたの今回のインストール手順

helm chartの修正

まずGrafana OperatorとPrometheus Operatorを最新バージョン指定に変えてしまいます

git clone https://github.com/konveyor/pelorus.git

まず編集すべき箇所は, pelorus/charts/operators/templates/ の下の grafana-subscription.yaml と prometheus-subscription.yaml です。 それぞれを下記のように編集してください。

grafana-subscription.yaml (channelとstartingCSV)

---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: grafana-operator
spec:
  channel: v4
  installPlanApproval: Manual
  name: grafana-operator
  source: community-operators
  sourceNamespace: openshift-marketplace
  startingCSV: grafana-operator.v4.0.1

prometheus-subscription.yaml (startingCSV)

---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: prometheus
spec:
  channel: beta
  installPlanApproval: Manual
  name: prometheus
  source: community-operators
  sourceNamespace: openshift-marketplace
  startingCSV: prometheusoperator.0.47.0

次にGrafanaDashBoardのyamlを微修正します。場所は pelorus/charts/pelorus/templates/ で、dashboard-sdp.yaml と dashboard-sdp-byapp.yamlの2つです。それぞれspecの下のname要素を削除してください。

編集前

spec:
  name: devops.json
  json: >-

編集前

spec:
  json: >-

これであとはchartをDeployするだけです。

OperatorのDeploy

cd pelorus
oc create namespace pelorus
helm install operators charts/operators --namespace pelorus

成功すれば下記のようにOperatorが2つDeployされます。(ワークアラウンドをしていないと、指定したOperatorが導入できずに失敗します)

f:id:Tatsuyak9i:20211118180318p:plain

PelorusのDeploy

helm install pelorus charts/pelorus --namespace pelorus

f:id:Tatsuyak9i:20211118182949p:plain

ダッシュボードを見てみる

grafana-deploymentの右上にあるリンクをたどると、ダッシュボードが表示されます。 途中でOpenShiftの認証や、oauthの権限承認があります。

Grafanaのトップ画面からHomeを押すとダッシュボード一覧が見えます。

f:id:Tatsuyak9i:20211118183237p:plain

Pelorus→Software Delivery Performanceとたどればこのようにお目当てのダッシュボードが見えました!

f:id:Tatsuyak9i:20211118183440p:plain

次回

今度こそDemoアプリをDeploy、変更を行うことでダッシュボードにどのような変化がみえるのかをお伝えしたいと思います! その後はエンタープライズ世界でどうこのダッシュボードと付き合うのがよさそうか、についての考察をしていきたいと考えています。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。