こんにちは。SB C&Sの村上です。
この記事ではTanzu Mission Control (TMC) のCatalog機能を紹介します。
TMCのCatalog機能は、管理下のクラスターに対してTanzu PackageとHelm Chartのインストールと管理を行うことができます。
例えば、PrometheusやGrafanaなどの監視系ソフトウェア、HarborコンテナレジストリなどをTMC上からインストールできます。そしてインストール後は、TMCの管理画面上から設定値変更や削除などを行うことができます。
なお、インストールの際はリポジトリから取得を行う形となり、それぞれ利用可能なものは以下表となります。Helm ChartでGit Repositoryから取得する場合のみ手動での設定が必要ですが、それ以外は最初から利用可能な状態にあります。
項目 | 取得元リポジトリ | 備考 |
---|---|---|
Tanzu Package | - Tanzu Standard Package Repository | - TKGクラスターのみ対応 |
Helm Chart | - Bitnami Repository - Git Repository |
- 展開されるものはOSSのためVMwareサポート外 - Helm Serviceの有効化が必要 - Git Repositoryは手動で追加が必要 |
次のセクションにて実際にTanzu Packageをインストールする流れを紹介します。
環境としては、あらかじめTMCに登録済みの、vSphere with TanzuのTanzu Kubernetesクラスタを用います。そして、そのクラスタ上にCatalog機能を用いて、Tanzu PackageのPrometheusをインストールしていきます。最終的にPrometheusのServerコンポーネントのServiceに、ブラウザからアクセスして動作を確認します。
各操作は操作用のデスクトップを1つ用意して、それぞれ以下のように行います。
操作対象 | 取得元リポジトリ |
---|---|
Tanzu Mission Control | 操作用デスクトップのWebブラウザ |
Prometheus Server | 操作用デスクトップのWebブラウザ |
vSphere with Tanzu |
操作用デスクトップのPowerShell(kubectl) |
Tanzu Package インストールの流れ
それでは、TMCのCatalog機能から、Tanzu PackageのPrometheusのインストールを行います。
TMCにて、[Catalog]-[Tanzu packages]にアクセスし、[Available packages for cluster:]にて対象のクラスタを選択すると、利用可能なTanzu Packageの一覧が表示されます。
今回はPrometheusの[INSTALL PACKAGE]をクリックします。
パラメータの設定画面が表示されます。
以下パラメータを入力して[INSTALL PACKAGE]をクリックします。
- Package name: prom-01
- Package Configuration: Overlay YAMLをクリックして以下を入力
※ prometheusのservice typeは後ほどの動作確認用にLoadBalancerにしています
prometheus:
pvc:
storageClassName: vsan-default-storage-policy
service:
type: LoadBalancer
alertmanager:
pvc:
storageClassName: vsan-default-storage-policy
インストールが完了したら、[Catalog]-[Tanzu packages]-[Installed Tanzu packages]にprom-01が追加されていることが確認できます。[EDIT]にて設定値の変更、[DELETE]から削除を行うことができます。
また、対象クラスタの管理画面の[Add-ons]のタブでも、インストール済みのTanzu Packageの一覧を確認でき、同様に[EDIT]などの操作が実施可能です。
それでは操作用デスクトップのPowerShell上から、kubectlを用いてインストールしたPrometheusの状態を確認します。kubectlでは、あらかじめKubernetesクラスタには接続可能にしてあります。
以下コマンドで、PrometheusのPodとServiceが稼働していることを確認します。
また、service/prometheus-serverのTYPEは、インストール時に設定した通りにLoadBalancerになっていることも確認します。
※Tanzu PackageのPrometheusは、名前空間tanzu-system-monitoringに展開されます
$ kubectl get pod,svc -n tanzu-system-monitoring ## 出力 NAME READY STATUS RESTARTS AGE pod/alertmanager-565dc5b49-mlcdb 1/1 Running 0 4m9s pod/prometheus-kube-state-metrics-5899576cdc-ld65z 1/1 Running 0 4m9s pod/prometheus-node-exporter-24vgd 1/1 Running 0 4m10s pod/prometheus-node-exporter-2z4kf 1/1 Running 0 4m9s pod/prometheus-node-exporter-6ts84 1/1 Running 0 4m10s pod/prometheus-node-exporter-q6sgd 1/1 Running 0 4m10s pod/prometheus-pushgateway-9bc448fd9-2wwh8 1/1 Running 0 4m9s pod/prometheus-server-7b9965d55c-26js5 2/2 Running 0 4m9s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/alertmanager ClusterIP 10.96.180.16680/TCP 4m9s service/prometheus-kube-state-metrics ClusterIP None 80/TCP,81/TCP 4m9s service/prometheus-node-exporter ClusterIP 10.96.21.119 9100/TCP 4m9s service/prometheus-pushgateway ClusterIP 10.96.183.90 9091/TCP 4m9s service/prometheus-server LoadBalancer 10.96.39.137 172.20.83.100 80:32410/TCP 4m9s
service/prometheus-serverのEXTERNAL-IPにブラウザからアクセスをすると、Prometheusの画面が無事に確認できます。
また、以下画像のようにメトリクスの収集も開始されていることが確認できます。
まとめ
今回は、TMCのCatalog機能を用いたパッケージのインストールについて紹介しました。
こちらの機能により、管理者がTMCのコンソール上からKubernetesクラスタに対して、ソフトウェアをインストールできるようになります。例として紹介したPrometheusインストールのように、ツールを展開する際に都度クラスタにアクセスする必要がなく、TMCでまとめて作業を行えるのはメリットであると感じました。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
村上 正弥 - Seiya.Murakami -
VMware vExpert