複数のKubernetesクラスタを管理できるTanzu Mission Controlを実際に触ってみる方法

本記事は「TUNA-JP Advent Calendar 2022」の14日目のエントリとして、複数のKubernetesクラスタを管理できるTanzu Mission Controlを実際に触ってみる方法を紹介します。

# この記事のサマリ
* Tanzu Mission Controlは有償のSaaS製品ですが、VMware公式のHands-on Labs（HOL） を使うと無償で触ってみることができます。太っ腹！
* VMwareのPathfinderというサイトでHOLのマニュアル（＝ラボの中身）をHTMLまたはPDFで確認できます。
* 今回のHOLでは、Tanzu Mission Control以外にもKubernetes可視化ツールのOctantやコンテナレジストリのHarbor、NSX Advanced Load Balancer（旧Avi）の実機を触ることができます。

# VMwareのTanzu Mission Controlとは？
一言でいうと、複数のKubernetesクラスタを一元的に管理できるTanzu製品です。提供形態はSaaSで略称はTMCです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/4ecabc94-220f-65e6-b216-77e28ddea388.png)

VMwareのKubernetesディストリビューションであるTanzu Kubernetes Gridだけではなく、主要クラウドプロバイダのKubernetesクラスタも管理下に置くことが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/0185af5b-884f-6b47-a984-f9436d73fe6f.png)

TMCは様々なOSSを使用してコア機能を構築しています。クラスタのライフサイクル管理にはCluster API、認証認可にはPinniped、サービスカタログではCarvel、セキュリティポリシーの適用にはOpen Policy Agent Gatekeeper、データ保護機能の構築ではVelero、（下記の図では記載されていませんが）クラスタの適合性検査機能ではSonobuoyを使用しています。
例として、複数のKubernetesクラスタをグループ化した"Cluster Group"や複数のNamespaceをグループ化した"Workspace"に対して統一したセキュリティポリシーをかけるといったことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/69064ef5-39c3-ce68-ef09-961f39b89cfd.png)

以降はHOLで実際にTMCを触ってみる方法やHOLの内容がどんなものかを記載していきます。

TMCの各機能についてより詳しく知りたい方は下記リンク先をご参照ください。※上記画像の出典もこちらからです。
[VMware Japan Blog : マルチクラウド上の Kubernetes を統一的に管理する VMware Tanzu Mission Control とは？](https://blogs.vmware.com/vmware-japan/2022/11/tko-tmc.html)
[VMware Japan Blog : Kubernetes 環境の本番運用からマルチクラウドへの拡張まで](https://blogs.vmware.com/vmware-japan/2022/08/tko.html)
[VMwareパートナー資料館のTanzu Talk#5の資料](https://juku-jp.vmware.com/partnerdocs/seminar/seminar-resource/) ※Partner Connect のユーザーアカウントが必要

# HOLの概要
VMwareが公式で提供している無償のハンズオンラボが[Hands-on Labs（HOL）](https://labs.hol.vmware.com/HOL/)になります。TMCなどの一部のVMwareのSaaS製品を触ってみることもできます。
HOLを使ったことがない方は下記のDELLの方のブログが分かりやすいのでご参照ください。

https://lab8010.com/how-to-use-vmware-hol/

ラボを起動すると、下記のように左側に仮想マシンの画面、右側にマニュアルが表示されます。
このマニュアルに記載されているシナリオを通して製品を体感することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/0823fcfb-4378-733e-2ed9-418bf00f50fe.png)

# TMCを実際に触ることができるHOLについて
毎年HOLのコンテンツは更新されますが、2022年12月時点でTMCを触ることができるのは下記の2つになります。

* HOL-2234-01-MAP_VMware Tanzu Mission Control — Manage Kubernetes Across Clouds
* HOL-2234-02-MAP_VMware Tanzu for Kubernetes Operations (TKO)

上記のラボでは下記の環境が作られます。ちなみにラボとして作られる環境自体は同じですがシナリオが異なります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/61bf6ccb-fb03-20c4-9b2a-805051dfc44b.png)

ラボの環境は仮想マシンのcli-vmにkubectlがインストール済みであったり、OctantでTKGが登録済みだったりで、いくつかの設定が完了済みです。
HOLの良さはシナリオに従わずに自由に製品をいじれる点でもあるので、一通り準備されているシナリオを試したあとは好きに製品をいじってみるのをオススメします。

というわけで、タイトルの「Tanzu Mission Controlを実際に触ってみる方法」はVMwareのHOLを使うということでしたが、せっかくなので小ネタを紹介できればと思います。

# HOLを起動せずにコンテンツの中身を確認する方法
HOLを使うことで実際に製品を触ることが出来るのですが、HOLは起動に多少時間がかかるのと時間制限があるので事前にマニュアル（＝ラボのシナリオ）を確認できると嬉しかったりします。

HOLを使ったことがある方は気づいているかもしれませんが、実はHOLを起動しなくてもマニュアルを確認する方法があります！
（ラボを起動したときに右側に表示されるマニュアルをラボの外から確認できます）

手順は下記になります。
1. VMware製品の学習用サイトの[Pathfinder](https://pathfinder.vmware.com/)にアクセスします。
2. 上部のメニューからHands-on Labsを選択し、次に中段のメニューでDocumentsを選択します　※直パスは[こちら](https://pathfinder.vmware.com/v3/page/hands-on-labs?menu=documents)
3. 右側の検索窓でラボの中身を確認したいHOLの番号を記入します。今回は2234-01を記入してみます。
4. HOL-2234-01-MAPが表示されるので、表示された行をクリックして展開します。
5. 最初は「SHOW MODULES」が表示されているので「SHOW DOCUMENTATION」に切り替えます。
6. HTMLまたはPDFでHOL内のマニュアルを確認できます。

※Pathfinderのドキュメントも結局は[ハンズオンラボのドキュメントサイト](https://hol.vmware.com/catalog/#/)を読み込んでいるようですが、Pathfinder自体の認知度がそこまで高くないので、今回はこちらの方法を紹介しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/04d45285-765a-c949-7a28-905432918853.png)

<details><summary>HOL-2234-01-MAPについてPathfinderのドキュメント ⇔ ラボ内のマニュアルの比較</summary>

まずPathfinderのSHOW DOCUMENTATIONに日本語のPDFファイルがあるので、そちらの目次を見てみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/0f610387-5943-021b-91de-8cbef7413064.png)

次にラボ内のマニュアルの目次を見てみます。下記の通りPDFファイルの目次と同じものが並んでいます。
いちおうラボ内のほうが深い階層まで一覧で見れるというメリットはあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/7e532574-86da-b886-9305-5c6d3579b119.png)

</details>

<details><summary>HOL-2234-02-MAPのマニュアル</summary>
HOL-2234-01-MAPに比べてHOL-2234-02-MAPのほうがより多くのシナリオがあるので、2234-01を実施したあとにより詳しく知りたい人は2234-02を実施する順番がよいかと思います。

![2234-02-map.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171240/f982422b-050d-7db8-0724-606e3513846a.png)

</details>

# まとめ
Tanzu Mission ControlはSaaS製品ですが、VMware公式のHands-on Labs（HOL） を使うと無償で触ってみることができます。
HOLのマニュアルはVMwareのPathfinderというサイトでHTMLまたはPDFで確認することが出来るので、どんなことが出来るか気になる方は事前に見てみることをおすすめします。
また、今回紹介したHOLではTanzu Mission Control以外にもKubernetes可視化ツールのOctantやコンテナレジストリのHarbor、NSX Advanced Load Balancer（旧Avi）の実機を触ることができるので、そちらを触ってみたい方にもおすすめです！

明日は「TUNA-JP Advent Calendar 2022」の15日目のエントリとして、VMwareのエッジコンピューティングのソリューションである[Edge Compute Stack](https://www.vmware.com/jp/products/edge-compute-stack.html)でどのようにTMCが使われているかを書く予定です。


# TMCについて参考になるサイト
* [VMware Tanzu Mission Controlのご紹介](https://www.netone.co.jp/knowledge-center/netone-blog/20200416-1/)　※NetOneの奈良さんの記事
* [VMware Tanzu Mission Controlのデータプロテクションとオンプレミス環境への対応](https://www.netone.co.jp/knowledge-center/netone-blog/20210105/)　※NetOneの奈良さんの記事
* [Tanzu Mission ControlのContinuous Delivery機能を試す](https://qiita.com/ipppppei/items/8835db7fa45d572c5ced)　※VMwareの村田さんの記事
* [OPA GatekeeperのGatorを使ってManifestにPolicy違反がないか検証する](https://qiita.com/ipppppei/items/935d19da952ba5369a33)　※VMwareの村田さんの記事
* [Pinniped?アザラシ？新しくて簡単なKubernetesのユーザー認証](https://event.cloudnativedays.jp/cndo2021/talks/221)　※VMware星野さんのCNDS2021の登壇
* [VMware Explore2022 USのカタログ(Tanzu Mission Controlでフィルタを実施)](https://event.vmware.com/flow/vmware/explore2022us/content/page/catalog?search.products=1628190704492001Zp2M)