今回はOpenShiftをTurbonomic管理対象に追加する手順についてご紹介します。
手順例
マニュアルについてはこちらを参照下さい。
kubeturboの導入方法としては、①Turbonomicのユーザーインターフェースを起点とする方法と、②OCP側のOperatorHubを起点とする方法が記載されていますが、本資料では①Turbonomicのユーザーインターフェースを起点とする方法をご紹介しています。(①の場合、各種パラメータの指定が自動化されており、作業内容としても簡単でお勧めです)
設定 -> ターゲットの追加よりOpenShiftを選択し、画面の指示に従って進めます。
任意のクラスタ名を追加し、次へ。(ここのクラスタ名は、あくまでTurbonomicの管理上の名称であり、任意の名前で差し支えありません)
次に、Turbonomicが管理する際の権限を指定。オプティマイズを選択する事で、推奨アクションを生成し、さらに実行まで可能となります。
単にモニタリング(推奨アクションの提示)までに留めたい場合は、モニターも選択可能です。
自動化の恩恵を受ける為にも可能な限りオプティマイズを推奨します。
次に プライベート・コンテナ・イメージレポジトリ、及びプロキシーについては環境に応じて設定。(特に指定が無ければ空白でOKです)
最終的にスクリプトをダウンロードして実行するの画面で、kubeturbo導入のスクリプトがダウンロード可能です。
ダウンロードしたスクリプトを管理対象となるOCP環境へのアクセスが可能(ocコマンドが実行可能)なLinux環境へコピーの上、実行権を付与して実行。
[user@rhel-1-206 work]$ oc project turbo ### "turbo"プロジェクトへ移動
Now using project "turbo" on server "https://api.ocp.home.lab:6443".
[user@rhel-1-206 work]$
[user@rhel-1-206 work]$ ./ocp-cluster.sh ### ダウンロードしたスクリプトを実行
Here is the summary for the current installation:
--------- ---------
Parameter Value
--------- ---------
Mode Create/Update
Kubeconfig /home/user/work/auth/kubeconfig
Host https://192.168.30.5
Namespace turbo
Target Name ocp-cluster
Target Subtype RedHatOpenShift
Role turbo-cluster-admin
Version 8.15.6
Auto-Update false
Auto-Logging false
Proxy Server false
Private Registry false
Please confirm the above settings [Y/n]: ### Yで進める
Y
Info: Your current Kubernetes context is set to the following:
NAME CLUSTER AUTHINFO NAMESPACE
turbo/api-ocp-home-lab:6443/system:admin api-ocp-home-lab:6443 system:admin/api-ocp-home-lab:6443 turbo
Please confirm if the script should work in the above cluster [Y/n]: ### Yで進める
Y
:
<中略>
:
Successfully apply Kubeturbo in turbo namespace!
NAME SECRETS AGE
serviceaccount/turbo-user 1 27s
NAME READY STATUS RESTARTS AGE
pod/kubeturbo-release-5c6b9f568c-r2dsq 1/1 Running 0 27s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/kubeturbo-release 1/1 1 1 27s
NAME DATA AGE
configmap/turbo-config-kubeturbo-release 2 27s
Done! ### 正常に完了した事を確認
[user@rhel-1-206 work]$
正常にスクリプトが完了し、OpenShiftがターゲットに登録された事を確認。
OpenShift側にもインストール済みのOperatorとしてKubeturboが登録されている事を確認。
スクリプトからの登録であっても、実体はOperatorを操作し、Turbonomicとの接続に必要なパラメータを自動的に付与しています。
以上、Kubeturboの導入が完了し、OpenShiftの各種リソースの管理が可能となりました。
OCP環境の確認例:
標準ダッシュボードでも確認可能ですが、特にOCP環境のみを抽出したい場合は、検索機能でコンテナプラットフォームを表示させ、対象環境を選択の上、範囲をクリックする事で、関連リソースのみの表示が可能です。
特定のOCP環境のみを表示した状態:
この例では、OCP環境を構築するインフラとしてVMwareを利用しており、そちらもTurbonomicの監視対象に含まれている為、OCPの環境配下に、ホストとして物理ESXサーバが存在し、仮想マシンとして3台のワーカーノード(実体はESXサーバ上の仮想マシン)まで自動的にマッピングされている事が確認出来ます。
OpenShift Virtualizationの仮想マシンのみを抽出したい場合:
8.15.6以降でサポートされたOCP Virtの仮想マシンを抽出する際は、
検索 -> コンテナーポッド -> フィルター -> タグ | Equal | IsVirtualMachineInstance | true を選択頂く事で、OCP Virtの仮想マシンのみを抽出する事も可能です。
OCP環境の仮想マシンは、Turbonomicの抽象化によって、広義ではpodの一部の様な扱いとなりますが、実体は仮想マシンとなる為、IsVirtualMachineInstanceというタグで判別するものとなります。
仮想マシンのみが抽出された例:
まとめ
今回はOpenShift環境へのkubeturboの導入手順などをご紹介させて頂きました。
従来、kubeturboの導入に際しては、helmチャートやyamlでの個別導入、Openshiftに限ってはOperatorの操作による導入手順など、いくつかパターンがありましたが、現在は他の管理対象と同様に、TurbonomicのUIの指示に沿うことでシンプルな導入が可能になった事がお分かり頂けたのではないかと思います。
(スクリプトを走らせる必要はありますが、以前は複数の設定ファイルにそれぞれ異なるパラメータを手動で入力する必要がありましたので、それに比べればかなり簡単な手順でご利用可能になったのでは?と思います)
もしこれまでKubernetes/OpenShiftの管理にハードルを感じていた様であれば、是非お試し頂ければと思います。