
- ライター:奈良 昌紀
- 通信事業者のデータセンターにおいてネットワーク・サーバー運用を経験した後、ネットワンシステムズに入社。帯域制御やWAN高速化製品担当を経て、2008年から仮想化関連製品を担当。現在は主にクラウド、仮想インフラの管理、自動化、ネットワーク仮想化を担当。
目次
VMware Tanzuはモダンアプリケーションの開発(Build)・実行(Run)・管理(Manage)を実現するソリューションのポートフォリオです。昨年米国で開催されたVMworld 2019ではVMware Tanzuにおける「管理(Manage)」を実現するソリューションとしてTanzu Mission Control(以下TMC)が発表されました。今回はTMCの概要をご紹介します。
VMware Tanzu Mission Controlとは
TMCはKubernetesクラスターの作成や管理を行うためのサービスであり、VMware Cloud on AWSを始めとするVMware Cloudサービスの一つとして提供されます。現在TMCは以下の機能を持っています。
- Kubernetesクラスターの作成・Nodeの追加/削除
- 既存Kubernetesクラスターの登録
- Kubernetesクラスターのステータス取得
- Policy機能によるKubernetesクラスターの制御
- アクセスポリシー
- ネットワークポリシー
- レジストリポリシー
- Kubernetesクラスターのインスペクション (適合性テスト)
これらの機能によりIT運用者が開発者に対してKubernetesクラスターを提供し、Kubernetesクラスターの運用を簡素化することが可能になります。
Kubernetesクラスターの作成
TMCの管理画面からIaaS上にKubernetesクラスターを作成することが可能です。内部的にはCluster APIと呼ばれるオープンソースの仕組みを利用しています。TMCによるKubernetesクラスターの作成は現時点でAWSにのみ対応していますが、Cluster APIはオープンソースとしてAzureやOpenStack、vSphereにも対応しており、今後これらのIaaSに対してKubernetesクラスターを作成することが可能になる見込みです。
作成するKubernetesクラスターは開発環境向けのシングルマスター構成と本番環境向けのマルチマスターを選択することができます。また、Podが起動するWorkerノードもNodePoolと呼ばれる単位で複数Availability Zoneに構成し、各NodePool毎に台数を指定することが可能です。作成したKubernetesクラスターは必要に応じてNodePoolの台数を変更することでスケールアウト、スケールインが可能です。なお、現状作成されるKubernetesクラスターはCNIとしてCalicoを利用しています。

Kubernetesクラスターの管理
TMCから作成したクラスターに加えて既存のKubernetesクラスターをTMCに登録することも可能です。既存KubernetesクラスターをTMCに登録するには管理画面から「Attach cluster」を選択し、生成されるマニフェストファイルを既存Kubernetesクラスターに適用します。マニフェストが適用されたクラスターにはTMC用のAgentソフトウェアがPodとして展開され、TMCコンソール上に現れます。VMware Enterprise PKS 1.6以降でTMC連携用の設定が追加され、Enterprise PKS上でKubernetesクラスターを作成するとTMCに自動的に登録することが可能になっています。(現在Experimental扱い)

TMCで作成したクラスターや登録したクラスターはシステムコンポーネントの健全性確認、クラスターのリソース利用状況、クラスター内のPodの状態等を表示することが可能です。

Namespaceの管理
Kubernetes上ではNamespaceと呼ばれる機能でクラスター上に論理的な名前空間を複数作成することができます。NamespaceによりPodやネットワークリソースをグルーピングすることができます。TMCではこのNamespaceを作成し、作成したNamespaceに対してポリシーを適用することで、Kubernetesクラスターに対するガバナンスを提供することが可能です。
TMCから管理できるポリシーには以下のものがあります。
- Access Policy
- TMCユーザーがKubernetesクラスターに対してアクセスする際のアクセスポリシーを制御することができます。
- Registry Policy
- Policyを適用したネームスペースに作成するPodのコンテナイメージをpullすることができるコンテナレジストリを指定することが可能です。ホワイトリスト方式で利用を許可するレジストリだけを明示的に指定します。
- Network Policy
- Network PolicyはKubernetesクラスター内のPod間通信や、他のネットワークとの通信を制御するために利用します。ラベルを使用してPodを選択し、選択したPodに許可されるトラフィックを指定するルールを定義します。
インスペクション (適合性テスト)
インスペクションはKubernetesクラスターのテストを実施します。このテストをするためのツールとして、Sonobuoyが利用されています。Sonobuoyは2018年にVMwareが買収したHeptioが開発したもので、現在はVMware Tanzuの一部として開発が継続されています。テストにはLiteとConformanceの2種類があり、Liteでは非常に簡単なテストが実施されます。一方Conformanceは、KubernetesプロジェクトをホストするCNCFが定めた基準に基づき、対象のKubernetesクラスターが標準的なKubernetes APIに準拠しているかどうかをチェックします。TMCの管理コンソールでKubernetesクラスターを選択して、テストを実行するとSonobuoyによるテストが実施されます。

Tanzu Mission Controlの今後
今後、vSphere 7で搭載されたvSphere with Kubernetesとの連携、Kubernetesクラスターのバックアップ・リストア、マルチクラウド環境におけるコストを可視化するCloudHealthやアプリケーションのパフォーマンスモニタリングを提供するWavefrontとの連携等が実装されるようです。ネットワンシステムズは今後もVMware社のプロダクトをいち早く評価し、迅速にお客様にお届けしていきます。
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。