こんにちは。SB C&Sの村上です。
この記事ではTanzu Mission Control (TMC) の基本知識として、TMC上でのKubernetesクラスタの取り扱われ方や管理機能の概要といった基本的な内容の紹介をします。
各機能紹介の中でより詳細な記事も案内しているため、合わせてご参照ください。
Tanzu Mission Controlとは
TMCはオンプレミス及びパブリッククラウド上のKubernetsクラスタを一元的に管理できるコンソールを提供するSaaSソリューションです。
Kubernetesの基盤としては、vSphere上の仮想マシンに構築するようなオンプレミスの形式や、各パブリッククラウドベンダーが提供するマネージドのものなど、多く存在します。それらを併用している場合には、各ベンダーが提供するコンソール上での管理が発生し、非常に煩雑化することが考えられます。
そういった様々な環境で動作するKubernetesクラスタを一元的に管理できるのが、Tanzu Mission Control (TMC) です。TMCで提供されるコンソールでは、Kubernetes運用で考慮する必要があるPolicyやバックアップなども、GUI上から効率的に行うことが可能です。
また、TMCはSaaSとして提供されており、VMware Cloud Servicesからアクセスして利用できます。
TMCでのKubernetesクラスタ管理の開始
TMCでは、様々な環境のクラスタを管理対象にできます。クラスタ管理の開始方法や、TMC上での管理体系について紹介します。
クラスタの登録
TMCでは、クラスタを登録することでリソース状況の可視化や管理を行うことができるようになります。これはクラスタ上に展開されるTMCのAgentやExtensionが、TMCと連携を行うことで実現しています。
クラスタの登録形態にはManageとAttachの2種類があります。
- Manage
- クラスタのライフサイクル管理機能が利用可能 (クラスタの作成や削除など、詳細は後述)
- 以下のKubernetesクラスタのみが対象
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- Tanzu Kubernetes Grid(TKG)
- 管理対象のクラスタには、TMCからの作成時などにAgentがインストールされる
- クラスタ展開の準備として、TKGではManagement Cluster、パブリッククラウド(AWS, Azure) では資格情報の登録が必要
- Attach
- クラスタのライフサイクル管理機能が利用不可
- CNCFの仕様に準拠したKubernetesクラスタであれば登録可能
- 既存で稼働中のクラスタに、TMCのAgentとExtensionを展開する方式
- 登録は、TMCにて表示されるkubectl applyコマンドを対象クラスタで実行するのみ
実際に登録されたクラスタに関しては、リソースの使用状況や各ノードのステータス、動作しているDeploymentやStatefulSetといったリソースの情報などが自動的に可視化されます。
クラスタのグループ管理
TMCでは、登録済みのクラスタをグループ分けして管理するために、クラスタグループというものが利用できます。こちらを活用することで、複数のクラスタへ統一されたPolicyの適用やバックアップを行うことが可能です。
イメージとしては以下のような階層構造になっており、クラスタグループ1に対して行ったアクションは、クラスタ1とクラスタ2に対して反映されます。
また、TMCにはワークスペースという管理グループも存在しています。こちらはクラスタではなく、複数の名前空間をグループ化することができるものです。
注意点として、クラスタグループとワークスペースとで、利用可能なTMCのPolicyによる管理機能などが異なります。
TMCで利用可能な管理機能
ここからはTMCで利用可能な管理機能の一部概要を紹介いたします。
クラスタのライフサイクル管理
Manageとして登録されたクラスタに関しては、アップグレードやスケーリング、クラスタの削除といったクラスタのライフサイクル管理を行なえます。
ライフサイクル管理で実現可能なこと
- クラスタの作成 ※作成時にManegeとして登録される
- クラスタの削除
- クラスタのアップグレード
- ノードのスケーリング
- ノードプールの追加
ライフサイクル管理機能の利用では、AWSとAzureであればクラスタを作成できるアカウント (資格) 情報の登録、TKGであればスタンドアロンのManagement ClusterもしくはvSphere with Tanzuのスーパーバイザーの登録を行っておく必要があります。そして、その情報を用いて登録された (作成された) Manage形式のクラスタのみが対象となります。
実際の動作としては、TMCでの資格情報の作成時に、AKSではサービスプリンシパル、EKSではIAMロール経由でTMCからの管理用リソースが作られ、それらが都度動作してライフサイクル管理を実現しています。
ライフサイクル管理に関しては以下記事でも紹介しています。
Tanzu Mission ControlでAKSのライフサイクル管理
Tanzu Mission ControlでEKSのライフサイクル管理
Policy管理
TMCではクラスタ上のPolicyをGUI上から管理することができます。
例えばクラスタ上で作られるPodのセキュリティ設定や、利用されるコンテナイメージの取得ルールなどを、TMC上から一元的に管理をすることができます。
適用するPolicyに関しては、TMCのGUI上で作成をすることができます。そして実際に適用する際には、クラスタグループなどの単位で複数クラスタへ一括適用することが可能です。
また、Policy違反の情報などもTMC上でGUIを用いて確認できます。
Policyの詳細な内容は、以下記事を合わせてご参照ください。
Tanzu Mission Control の Policy 機能紹介
Data Protection
Data Protectionは、Kubernetesクラスタ上に作成されているリソースのバックアップを行う機能となります。
Kubernetes利用において、PersistentVolume(PV)のようにデータの保持が必要なものはバックアップを考慮する必要があります。TMCではバックアップをGUI上から行うことができ、そのバックアップ情報もGUI上で確認できます。
そして取得したバックアップも、TMCでクラスタにリストアできます。
例えば以下は、Data Protectionを用いた、EKSでのバックアップのイメージ図となります。
「eks-1」上のMySQLのリソースをS3にバックアップ後、「eks-2」にリストアするということが実現できます。
実際の利用の流れなどは以下記事で紹介していますので、合わせてご参照ください。
Tanzu Mission ControlのData Protection利用手順
まとめ
本記事ではTMCの基本的な管理機能を紹介しました。TMCはSaaSで提供されているため構築いらずで開始できる点や、オンプレミスやマルチクラウドでのKubernetesクラスタをGUI上で一元的に管理できるのが大きなメリットと考えられます。
なお、TMCには今回紹介しきれてない機能もたくさんあり、それらの機能は他の記事でも紹介しているため、ぜひご参照ください。
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
村上 正弥 - Seiya.Murakami -
VMware vExpert