LTN Blog 〜 Lenovo Technology Network 〜

レノボのソリューション・サーバー製品に関する技術情報、お役立ち情報をお届けします

VMware Project Pacific – ゲストクラスターについて

皆さん、こんにちは レノボ・エンタープライズ・ソリューションズ 小宮です。 今回の投稿もVMwareのProject Pacificに関する内容を投稿しようと思います。

 

本記事の原文はもともとLenovoのTechnical Product Marketing Managerで、Lenovo ThinkAgile 製品担当 そしてVMware vExpertとして活動しているBhavin Shar氏によるものです。

原文を参照したい方は、VMware Project Pacific - Guest Clustersをご確認下さい。情報は原文の投稿時のままの情報ですので、現時点では投稿時の情報と製品とで差異が出ている場合があります。

VMware Project Pacific – ゲストクラスター

前回のブログではProject Pacificをご紹介し、スーパーバイザークラスターとネイティブポッドの概念について詳細に説明しました。今回は内容ではProject Pacificの第3の側面であるGuest Clustersについてご説明します。ゲストクラスターを利用することで、Kubernatesクラスターのセルフサービスの配布をすでに使い慣れている同じ宣言型APIを使用している開発者に対してオンデマンドに提供できます。ゲストクラスターを利用すると、開発者が仮想マシンとして実行しているvSphere上の適合したKubernatesクラスターの展開を可能にします。開発者またはユーザーは管理者の介入なしにコントロールプレーンおよびワーカーノードの一部として展開された仮想マシンの数とクラスターで実行されているKubernatesのバージョンを完全に制御することができます。

 

ゲストクラスターがこれらのメリットをどのように提供するのかを理解するために、次の3つのことについて説明します。 

  1. ゲストクラスターコントローラー
  2. クラスターAPI
  3. VMオペレーター

これらの3つのことを理解するために、vSphere上のゲストクラスターを展開するために実行されるワークフローについてみてみましょう。

ゲストクラスターがこれらのメリットをどのように提供するのかを理解するために、次の3つのことについて説明します。

f:id:t_komiya:20200119131255p:plain

ゲストクラスターを展開するためには

  1. ユーザーは以下のようなyamlファイルを展開します。yamlファイルは、ゲストクラスターコントローラーに対して実行されます。ゲストクラスターコントローラーは使いやすく、ユーザーからの複雑さをすべて排除することができる非常に意見の多いレイヤーです。yamlファイルを取り込み、ゲストクラスターマネージャーと連携してクラスターおよびマシンリソースを生成します。他のK8sのyamlファイルと同様に。このゲストクラスターのyamlファイルにはスペックのセッションがあり、ユーザーは次のようなものを定義することができます。
  • コントロールプレーンVMのVMとストレージクラスの数
  • K8sクラスター内のワーカーノードのVMとストレージクラスの数
  • 展開するKubernatesの配布バージョン

f:id:t_komiya:20200119131404p:plain

  1. ゲストクラスターマネージャーがyamlファイルを受信すると、vSphereの管理K8sクラスターの一部として実行されているクラスターAPIコントローラーに要求を転送します。この時点で、スーパーバイザークラスターをクラスターAPIの管理クラスターとして利用できるか、vSphereの各ネームスペースに新しい管理K8sクラスターを展開できるのかはまだわかりません。Google Cloud Anthosを利用する場合、各管理クラスターは最大10個のユーザークラスターをサポートします。この機能が一般的に利用可能になったら、構成の最大値に関するさらに有益な情報を得られると思います。Cluster APIについて詳しく知りたい場合は、Scott Loweの投稿で読むことできます。ただし、要約すると、クラスターAPIはKubernatesがコンテナ―化されたアプリケーションに提供するのと同様の機能をK8sクラスターに提供できます。クラスターおよびマシンのスペックを利用することで、クラスターで実行されているVMの数やK8sのバージョンなどを定義することができ、マシンの展開(K8sでの展開と同様)の概念を利用してK8sのバージョンを無停止でアップグレードすることができます。管理クラスターは突き合わせループ(reconciliation loop)を実行して、現在の状態(VMの数など)がユーザーの定義した目的の状態と常に一致するようにします。

f:id:t_komiya:20200119131432p:plain

  1. クラスターAPIがユーザーの要件を展開する必要のあるVMに変換すると、呼び出しはVMオペレーターに転送されます。VMオペレーターはいわば正念場みたいなものです。VMオペレーターは、ユーザーが定義した仕様を取り込み、vCenterと双方向に対話してVMを展開し、VMを必要なネットワークに接続します。将来、VMwareではユーザーがVMオペレーターと直接対話してK8sクラスターとともにVMリソースを展開および管理できるようにする予定です。
  2. これは、ユーザーがゲストクラスターのyamlファイルを展開するたびに実行されるワークフローです。ゲストクラスターことができます。コントローラーは、管理対象クラスターエンティティを作成します。これは、クラスターAPIによってクラスターおよびマシンレベルのエンティティに変換され、最終的にVMオペレーターによって実際のVMに変換されます。

f:id:t_komiya:20200119131500p:plain

ゲストクラスタークラスターが論理的に分離されるように個別にの非管理ネットワーク、非スーパーバイザーネットワークに展開されます。認証と承認の観点から、ユーザーはvSphere SSO資格情報を利用してクラスターと双方向に対話できます。また、vSphere SSOと既存のHTML5クライアントを使用してゲストクラスターまたはvSphereネームスペースへのアクセスを制御できるため、仮想化管理者にとっても簡単になります。ゲストクラスターと双方向に対話するためには、ユーザーは基本的にSSO資格情報を使用してvCenter SSOサービスからキーを要求します。これにより、SSO資格情報がゲストクラスターに直接公開されることもなくなります。ユーザーがクラスターにアクセスできるようになると、ユーザーはワークロードを展開し、ワーク―VMの数を増加/削減して、クラスターで実行されているKubernatesのバージョンを制御して、ユーザーにセルフサービス機能を提供し、開発者の業務効率を向上させることができます。

 

願わくば、これらのブログ投稿がProject Pacificの理解を深めることができればと願っています。製品が一般的に入手可能になったら追加の投稿をする予定です。次回のブログではVMwareの戦略で「管理」部分とTanzu Mission Controlについて焦点を当ててお話したいと思います。