Turbonomic のOpenShiftへのインストール Operator版

#1. はじめに
[Turbonomic](https://www.turbonomic.com/)は、アプリケーション・リソース管理（ARM）ツールです。
エージェントレスで、APIを介して、アプリケーション、インフラストラクチャを検出し、監視を行います。

現時点の知識で、いいね！って感じてる機能は３点です。

1. インフラからアプリまでの依存関係を視覚化
　ドリルダウンすると各構成(アプリ、VM、ストレージなど）の性能情報の詳細を確認できる

2. リソースの最適化(自動実行もできる）
  AIを使ったCPU、メモリの増減の提案、リソースの空いている他のクラスターへの移動など、手動実行から自動実行対応

3. What-If分析を用いたコストレポートを使ったコストの最適化
　現在のリソースの使用量と クラウドの料金テーブルと支払い状況(APIで取得）から算出されたコストレポートが、ダッシュボードで表示されます。
　例えば、ついついプロジェクトの初めでは、オーバースペックでインスタンスを発注しがちですが、Turbonomicが継続的に、メトリック・料金を監視してWhat-if分析の結果をダッシュボードで表示されるので、どれだけコスト削減できるのか、常に確認できるので便利ですね。

2021年6月時点では、日本語の情報が皆無な感じなので、勉強した内容について、まずは、Turbonomicを OpenShiftクラスターに Operatorを使ってインストールを行う手順について書きたいと思います。
#2. 前提条件
##必要なもの
- Red Hat OpenShiftクラスター
- Tubonomic Platformのライセンス Turbnomic Platformは　Ret Hat Maket Placeからの導入

  - (参考）Turbonomic Platform Operator　(Operator Hubのページ)   
  https://operatorhub.io/operator/t8c

#3. TurbonomicのOpenShiftクラスターへのインストール手順

 １. turbonomicプロジェクトを作成します。

   ```
   $ oc new-project turbonomic
   ```

  ２. turbonomicプロジェクトに対して次のコマンドを実行して、 Turbonomic Platform Operatorに必要なロールと権限を割り当てます。

```
 $ oc project turbonomic

 $ oc create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/cluster_role.yaml   
 clusterrole.rbac.authorization.k8s.io/t8c-operator created

 $ oc create -f https://raw.githubusercontent.com/turbonomic/t8c-install/master/operator/deploy/cluster_role_binding.yaml   
 clusterrolebinding.rbac.authorization.k8s.io/t8c-operator created

 $ oc adm policy add-scc-to-group anyuid system:serviceaccounts:turbonomic   
 securitycontextconstraints.security.openshift.io/anyuid added to groups: ["system:serviceaccounts:turbonomic"]
```

３. OpenShiftの Operator Hubで Turbonomic Platform Operatorをインストールします。

フィルター(" turbonomic")を使って絞り込んで、Turbonomic Platform Operatorを探してクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/1576b75c-4bea-dd44-3271-248b8cdf9126.png)

４. Turbonomic Platform Opertorの "install" ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/393c820f-cb4b-dc0e-a20e-b2be76031c23.png)

５. "A specific namespace on the cluster" を 選択して "Installed Namespace"に turbonomic　プロジェクトを選択して Installボタンをクリックします。
　　これでturbonomicプロジェクトのみにOperatorが導入されるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/dfa01e9c-c0cc-4dd4-865e-8ae3269dc8f7.png)

６．インストールされた Turbonomic Platform Operatorは OpenShiftのメニューInstalledOperatorsに表示されます。
    "InstalledOperators"、"Turbonomic Platform  Operator"　の順番にクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/9866acca-100a-0003-9f1d-71299be54167.png)

７．"Create XL"をクリックし、"XL"のリソースのインスタンスを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/509273b0-5b7c-7fb0-a8c2-07e633310286.png)

８．次のオプションを有効にします。

- Kubeturbo(ローカルクラスタ管理用)
- Instana : Instanaをデータソースに設定
- OpenShiftIngress : Turbonomicダッシュボードにアクセスする為の OpenShiftのRoute作成

そして、オプションのリストの最下部までスクロールし、"Create"ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/d25dca1d-ad64-4ddf-7bfb-fc119423ae33.png)

９．Turbonomicダッシュボードに接続します。 OpenShiftのメニューの " Networking>Route"セクションで、"api-turbonomic"で始まるリンクをクリックしてダッシュボードを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/c9541103-b488-6da0-7439-4b9a33cb16a2.png)

１０．管理者のユーザー名とパスワードを設定すると、"Hello and welcome!"の画面が表示され、" LETS' GO"をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/a0d4df54-7798-20f3-912c-99df6e96c16c.png)

１１．"IMPORT LICENSE"ボタンをクリックしTurbonomicのライセンスを登録します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/0a1fdfe7-7c78-4d96-ad4e-98adea8e13e7.png)

１２．赤枠の"Turbonomic-key"と書かれている箇所にライセンスキーファイルをドラッグ＆ペーストをし、"SAVE"ボタンをクリックして登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/6fef0ee7-97c1-5cf3-4410-21b578389e50.png)

１３．"License added!" と表示されライセンス登録が終了しました。　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/209170/efe5039c-a438-1e44-5fe8-8b6c4d5cff18.png)

# 4. 最後に
これで、Turbotonic自体は単体で使えるようになりました。
次にTurbonomicをInstanaに接続して TurbonomicがInstanaからメトリックを収集できるようにします。
この投稿では、長くなったので、続きは
[Turbonomic のOpenShiftへのインストール (Instana連携編）](https://qiita.com/daihiraoka/items/4273ef4272b66a9e080d)の投稿で書いていきたいと思います。