It is the top of the page

Link for moving within the page
To text (c)

このウェブサイトではサイトの利便性の向上のためにクッキーを利用します。サイトの閲覧を続行されるには、クッキーの使用にご同意いただきますようお願いします。
お客様のブラウザの設定によりクッキーの機能を無効にすることもできます。詳細はこちら

The main part starts here.

  1. ナレッジセンター
  2. Net One BLOG

VMware Tanzu Mission Controlのデータプロテクションとオンプレミス環境への対応

Net One BLOG
クラウド
仮想化

写真:奈良 昌紀

奈良 昌紀

本記事のワード一覧

はじめに

VMware Tanzu Mission Control(以下TMC)は、複数のKubernetesクラスターを一元的に管理することができるVMwareのサービスです。TMCの概要に関しては2020年4月の記事でご紹介させていただきました。その後もTMCは進化を続け、いくつか機能が追加されています。今回は追加された機能のうち「データプロテクション」と「オンプレミス環境への対応」をご紹介します。

データプロテクション

Kubernetesのドキュメントでは、Kubernetesクラスターを保護するための方法として、etcdのバックアップが紹介されていますが、etcdのデータを利用したクラスターのバックアップ・リストアは簡単ではありません。また、etcdのバックアップだけでは、Kubernetes上で実行されているコンテナが利用する永続ボリュームのデータを保護することはできません。
TMCでは、Velero(旧Heptio Ark)と呼ばれるオープンソースソフトウェアを利用し、Kubernetesクラスターのリソースと永続ボリュームを同時にバックアップすることを実現します。

Veleroによるバックアップ

Veleroは、Kubernetes APIを介してKubernetes上のリソースの情報のバックアップを取得し、これらをオブジェクトストレージに保存します。また、永続ボリュームはスナップショットを取得し、バックアップとして利用します。
オープンソースのVeleroでは様々な環境に対応していますが、現在のTMCではAmazon S3に対してバックアップを取得し、永続ボリュームのバックアップとしてEBSのスナップショット機能を利用します。バックアップ機能がAWSのサービスに依存しているため、基本的にAWS上で実行されるKubernetesクラスターがバックアップ・リストアの対象となりますが、Kubernetesリソースのバックアップだけであれば、オンプレミス環境のバックアップも可能です。
Veleroはオープンソースとして様々な環境に対応を進めているため、今後オンプレミスや他のパブリッククラウド向けのバックアップ・リストア機能にも対応することが予想されます。

データプロテクション用クレデンシャルの作成

AWSサービスをバックアップに利用するため、データプロテクション用のクレデンシャルをTMCに作成する必要があります。クレデンシャル作成ウィザード中でAWS CloudFormationテンプレートが生成されます。AWSコンソールのCloudFormationでこのテンプレートを利用してスタックを作成すると、バックアップ用のS3バケットやVeleroが利用するためのIAM PolicyやRoleが作成されます。スタック作成完了後の出力内容に含まれるIAM RoleのARNをTMCに登録して、データプロテクションクレデンシャルを作成します。

TMCによるバックアップの取得とリストア

バックアップを取得するには、クラスター単位で「Data Protection」を有効化する必要があります。Data Protectionを有効化すると対象のクラスターにVeleroが構成されます。通常、Veleroはvelero CLIを利用してバックアップの取得、スケジューリングやリストアを行いますが、TMCではGUIのData protectionメニューから簡単にバックアップを取得・リストアすることが可能です。

バックアップやリストアの対象はクラスター全体、ネームスペース、ラベルセレクターによる選択のいずれかを指定することができます。

オンプレミスへの対応

前回ご紹介した時点では、既存のKubernetesクラスターを登録したり、TMCからKubernetesクラスターを作成してKubernetesクラスターを管理したりすることが可能でしたが、TMCから作成できるKubernetesクラスターはAWSにしか対応していませんでした。
2020年12月に新機能が追加され、オンプレミス環境のvSphere with Tanzuに対してTMC上からKubernetesクラスターを作成し、ライフサイクルを管理することが可能になりました。

Tanzu Kubernetes GridによるKubernetesクラスターの構成

Tanzu Kubernetes Gridは、オープンソースとして開発されているCluster APIを利用して様々な環境にKubernetesクラスターを作成します。TMCのサービスの一部としてAWS向けのManagement Clusterが提供され、このManagement ClusterがAWS向けのTanzu Kubernetes GridとしてAWS環境にTanzu Kubernetesクラスターを作成することを実現しています。
今回追加されたオンプレミス対応は、オンプレミス環境のvSphere with TanzuをTanzu Kubernetes Gridとして利用し、オンプレミス環境にTanzu Kubernetesクラスターを構成することを可能にします。

vSphere with Tanzuに関して

vSphere with Tanzuは、vSphereに統合されたTanzu Kubernetes Grid機能を利用して、vSphereハイパーバイザー上に仮想マシンとしてKuberenetesクラスターをプロビジョニングすることができる機能です。当初リリースされたvSphere 7ではVMware NSX-T Datacenterが必須でしたが、その後リリースされたvSphere 7 Update 1でNSX-Tがなくても、Kubernetesクラスターをプロビジョニングすることが可能になっています。以下の記事をご参照ください。

TMCに対するオンプレミスTKGの登録

オンプレミスのSupervisor ClusterをTMCにManagement Clusterとして登録することで、TMCの管理画面からオンプレミスのvSphere環境にTanzu Kubernetesクラスターをプロビジョニングすることが可能になります。Register Management Cluster画面で任意の名前と、作成するKubernetesクラスターを登録するデフォルトのクラスターグループを指定すると登録用のリンクが生成されます。

vSphere 7 Update 1以上の環境で構成されたSupervisor Clusterには「svc-tmc-XX」というTMCとの連携に利用するネームスペースが用意されており、生成された登録用リンクを指定した、以下のマニフェストをこのネームスペースに適用すると、TMCと連携するためのリソースが作成され、TMCからオンプレミスのvSphereにTanzu Kubernetesクラスターを作成することが可能になります。

apiVersion: installers.tmc.cloud.vmware.com/v1alpha1
kind: AgentInstall
metadata:
  name: tmc-agent-installer-config
  namespace: svc-tmc-XX
spec:
  operation: INSTALL
  registrationLink: [Registration Link]

TMCのManagement Cluster画面でオンプレミスのTanzu Kubernetes GridがReadyになると、vSphere環境に対してTanzu Kubernetesクラスターをプロビジョニングすることが可能になります。

Create Clusterで「Tanzu Kubernetes Grid Service on vSphere 7」を選択し、登録したSupervisor Clusterに存在するネームスペースを選択してTanzu Kubernetesクラスターを作成することが可能です。

クラスター作成時には、TKGのネームスペースやクラスターを構成するノードの数やサイズを指定することが可能です。

vSphere環境ではTanzu Kubernetes Gridで管理されるネームスペースに指定した構成でTanzu Kubernetesクラスターが作成され、Supervisor Clusterからもクラスターを確認することができます。

$ kubectl get TanzuKubernetesCluster
NAME    CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
tkc01   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   27m   running
$ kubectl get machines
NAME                                   PROVIDERID                                       PHASE
tkc01-control-plane-f66jb              vsphere://422af9aa-974a-c7bb-6210-8f28c3df315e   Running
tkc01-control-plane-gg7mj              vsphere://422a13cd-b959-4fca-847c-ba37558330c9   Running
tkc01-control-plane-hj6jt              vsphere://422a0a5f-b825-3589-c26e-ee39184a8de3   Running
tkc01-workers-xhszq-7c79886bff-6sl8g   vsphere://422af79f-7b3b-f508-fca1-15124a94af47   Running
tkc01-workers-xhszq-7c79886bff-bpprl   vsphere://422a537f-255c-c67c-4906-25c29582b106   Running
tkc01-workers-xhszq-7c79886bff-spxc7   vsphere://422a6b9a-a2c7-64b4-48a9-612611fde30b   Running

まとめ

前回の記事で「Tanzu Mission Controlの今後」としてご紹介した内容がこの数ヶ月で着実に実装されています。今後もパブリッククラウドに対する対応の拡張、バックアップ・リストア機能の強化、Tanzu Service Meshとの連携など、マルチクラウド環境におけるKubernetesクラスターの管理を実現するソリューションとして進化していくことが期待できます。ネットワンシステムズは今後もVMware社のプロダクトをいち早く評価し、迅速にお客様にお届けしていきます。

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

カテゴリ関連記事