ネットワールドSEが語る!vSphere環境で容易なKubernetesコンテナ管理を実現する「VMware vSphere IaaS control plane」

ネットワールドSEが語る!vSphere環境で容易なKubernetesコンテナ管理を実現する「VMware vSphere IaaS control plane」

vSphere 7 より 、VMware Tanzu によってvSphere上にKubernetes環境を展開することが可能になりました。VMware vSphere with VMware Tanzu(現:VMware vSphere IaaS control plane)は、インフラストラクチャの変革を推進することに重点を置いており、Kubernetes環境の導入を簡素化します。Kubernetesへの移行をサポートし、vSphere上に直接Kubernetes環境を展開できるため、インフラ管理者は使い慣れたvSphere Clientを活用してクラスタを容易に管理することが可能です。

本記事ではVMware vSphere IaaS control plane(旧称:VMware vSphere with VMware Tanzu)について、ネットワールドのSEである殿貝大樹が解説します。

目次

コンテナ利用に関する課題と解決策

アプリケーション開発者とvSphere管理者の間に生じるずれ

オンプレミスからマルチクラウド環境への移行が多くなっている今、コンテナが注目されています。コンテナはアプリケーションに対しても「開発生産性の大幅な向上」「拡張性と可用性の向上」「コスト削減」といったメリットを提供しています。しかし、システム開発においてコンテナを使いこなすには非常に重要なポイントですが、特にKubernetesを中心としたコンテナ管理ソフトウェアなど、ベースとなる良質なインフラ環境が不可欠となります。

現在のアプリケーション開発においてKubernetesコンテナをプラットフォームとして利用するケースが増えていますが、運用管理の違いやセキュリティ要件の違い等によってvSphere管理者は要求に応えることができず、従来通り仮想マシンの払い出しでとどまっているケースも少なくありません。

また、コンテナについては、誰が環境を用意し、管理するのかという役割分担が曖昧で管理者側との間に壁があり、結局アプリケーション開発側で対応せざるをえないのが実情です。これはアプリケーション開発の工数増大やスケジュール遅延といった課題に直面してしまいます。

開発部/事業部とvSphere管理者の壁

VMware vSphere IaaS control planeで解決!

上記で示したようなコンテナを利用したアプリケーション開発の課題を「VMware vSphere IaaS control plane(旧称:VMware vSphere with VMware Tanzu)」が解決します。

VMware vSphere IaaS control planeは、VMware TanzuによってVMware vSphere上でKubernetesを動かすことができ、vSphere管理者は vCenter は Kubernetes環境を管理することが可能になります。これによりvSphere管理者もアプリケーション開発者も、それぞれの役割に専念することが可能で運用負荷を減らすことが可能になります。

VMware vSphere IaaS control planeによるvSphere管理者とアプリ開発者の関係
上記図版は旧称「VMware vSphere with Tanzu」のものです。

VMware vSphere IaaS control planeの概要

VMware環境では、仮想マシンに対してワークロード隔離や高可用性をはじめ、論理ロードバランサ、L2/L3コネクティビティ、ネットワークセキュリティ、ストレージ等の機能を提供し、堅牢な仮想基盤を実現できます。

さらに「VMware vSphere IaaS control plane」を利用することで、コンテナに対しても本番環境に必要なこれらのインフラ要素を提供することが可能となります。

VMware vSphere IaaS control plane(旧称:VMware vSphere with VMware Tanzu)によってこれまで生じていたアプリケーション開発者とvSphere管理者の壁が取り除かれ、vSphere管理者がプラットフォーム管理者としてKubernetes基盤管理の中心を担うことが可能となります。これによりアプリケーション開発者の負担を軽減し、アプリケーション開発のスピードアップやガバナンス強化にも貢献します。

VMware vSphere IaaS control planeのイメージ

仮想マシン環境と同等なインフラを提供

既存環境にvSphere基盤をお持ちの方であれば、VMware vSphere IaaS control plane(旧称:VMware vSphere with VMware Tanzu)をご用意いただくことでKubernetes環境を展開することが可能になります。VMware独自のPodサービス「vSphere Pod」をご利用いただく場合にはネットワークスタックとしてNSXの利用が必須になります。VMwareのKubernetesディストリビューションである「Tanzu Kubernetes Cluster」ではNSXまたはVMware Avi Load Balancer(旧称:VMware NSX Advanced Load Balancer)を利用することで展開が可能です。実現したいことに合わせて2種類のKubernetes環境を選択できることもVMware vSphere IaaS control planeの特徴の一つです。

vSphere PodとTanzu Kubernetes Cluster

VMware vSphere IaaS control planeがサポートする2種類のKubernetes環境

VMware vSphere IaaS control planeは、コンテナベースのアプリケーションをvSphere PodTanzu Kubernetes Clusterの2つの環境下で開発と運用することができます。

VMware独自のPodサービスとして提供される「vSphere Pod」、もう一つはオープンソースであるVMwareディストリビューションの「Tanzu Kubernetes Cluster」(TKC)です。

vSphere PodとTanzu Kubernetes Cluster

vSphere PodはKubernetes Pod に相当するPodサービスで、Linuxコンテナを実行する軽量な仮想マシンです。一方のTanzu Kubernetes Clusterは、ヴイエムウェアによってサポートされるKubernetesディストリビューションです。

vSphere PodとTanzu Kubernetes Clusterの使い分け

vSphere Pod

vSphere Podは仮想マシンを展開するのと同様にVMware vSphere上にKubernetesオブジェクトを直接構成できるのが特徴になります。vSphere Podはアプリケーション開発者によるKubernetesクラスタの管理は不要となります。

vSphere Podはオンプレミスに閉じた運用に加えてコンテナの隔離レベルも高く、ネットワークスタックとしてNSXが必要になりますが、強固なセキュリティ(隔離性)が要求されるアプリケーションの開発・運用に適しています。

vSphere Pod

vSphere Podの実体は非常に軽量な仮想マシンになっているため、展開したvSphere PodはvSphere Clientから視認が可能です。vSphere管理者は馴染みのあるUIからどのようなvSphere Podが展開されているか等の情報を確認することが出来ます。
vSphere 7より「ワークロード管理」のメニューが追加されており、ワークロード管理を有効化することで、既存のvSphere ClusterがSupervisor Clusterと呼ばれるKubernetes環境を管理できる状態にできます。vSphere PodはESXiをWorker Nodeとして使用するアーキテクチャとなっています。「ワークロード管理」有効化の際にSupervisor Control Plane VMがデプロイされます。これはKubernetesでいうMaster Nodeに相当します。また、ESXiにはKubernetesモジュール(Kubelet)に相当するものが展開されることにより、vSphere PodはESXiをWorker Nodeとして利用することができます。

vSphere Pod

Tanzu Kubernetes Cluster

VMwareのKubernetesディストリビューションであるTanzu Kubernetes Clusterでは、開発者がルートレベルの制御を行うことが可能です。セルフサービスでvSphere基盤を意識せず開発者がクラスタを作成することも可能ですし、他のOSSを組み込んでいくことも可能です。Kubernetesを既に触っている開発者の方であれば特に違和感なく利用することが出来るかと思います。

Tanzu Kubernetes Clusterでは、Kubernetes クラスタのライフサイクル管理として、クラスタの作成からスケールイン/スケールアウト、クラスタの更新、破棄までをアプリケーション開発者自身で行うことができます。

マルチクラウド環境へのアプリケーション展開を見据えている場合は、Tanzu Kubernetes Clusterを利用することをお勧めします。

Tanzu Kubernetes Cluster

Tanzu Kubernetes Clusterではなぜ開発者がvSphere基盤を意識しないでクラスタを制御できるかというと、Tanzu Kubernetes ClusterはYAMLファイルを用いて作成します。Tanzu Kubernetes Clusterを作成するには、コマンドラインツールKubectlを用いてSupervisor Clusterにログインし、vSphere Namespaceと呼ばれるKubernetes専用リソースプールに展開します。このオペレーションはvSphere Clientでの操作ではなく、Kubectlを実行できる環境(Windows/Linux/Mac)から実施します。
ですので、vSphere管理者は開発者にvSphere Clientを触らせることなく、開発者はvSphere基盤を意識することなく、Tanzu Kubernetes Clusterを利用することが可能になっています。

Tanzu Kubernetes Cludter

コンテナの管理方法

vSphere Podでのコンテナ管理

vSphere Podは、従来から仮想マシンの管理に使ってきたvSphere Clientをそのまま利用することが可能で、GUI上のメニュー操作によって各コンテナのステータスや権限、ストレージのポリシー、各リソースの使用量などを確認することができます。

vSphere Podの管理

Tanzu Kubernetes Clusterでのコンテナ管理

Tanzu Kubernetes Clusterは、VMware Tanzu PlatformのVMware Tanzu Mission Controlというツールを利用して管理を行います。Tanzu Kubernetes Clusterで作成したクラスタを構成している各コンポーネントの健全性、リソースの利用状況、Podの状態などを俯瞰するなどその上に展開されているワークロードを一覧表示し、ステータスを確認することができます。

Tanzu Kubernetes Clusterの管理

VMC on AMSをはじめVMware vSphere以外の環境へのコンテナの展開

VMware vSphere IaaS control planeでは、VMware vSphere以外の環境でもKubernetesを利用可能なVMware vSphere Kubernetes Service(旧称:Tanzu Kubernetes Grid multicloud)を提供しています。これによりTanzu Kubernetes ClusterをVMware Cloud on AWSやMicrosoft Azure等のクラウド環境にもインストール可能となります。

vSphere以外の環境へのコンテナの展開

Kubernetes環境の可視化

vSphere管理者はどのようにKubernetes環境を管理していくべきかというと、vSphere PodではPod自体がvSphere Clientから視認できます。対してTanzu Kubernetes Clusterではコントロールプレーンノードとワーカーノードが仮想マシンとして展開されていることはvSphere Clientから確認できますが、ワーカーノード上で動いているワークロードは見ることが出来ません。
では、vSphere管理者がそれらのワークロードを可視化したい場合どのような手法があるのかというと、1つはTanzu Mission Controlという複数のKubernetesを統合管理できるSaaSプラットフォームがありますが、これは別記事で解説していきます。
もう1つのアプローチとしてOSSのOctantを利用するケースです。OctantはVMwareが支援しているOSSであり、Kubernetes環境を可視化できるソリューションとなっています。
展開されているワークロードの一覧はもちろんのこと、リソースの関係も可視化することが可能です。その他にもクラスタの状態、ノードの状態などkubectl get~やkubectl describe~で確認できる表示結果がGUIで表示することや、コンテナのTerminal操作など様々なことが出来ます。

Octantを利用

KubernetesはこのようなOSSを組み合わせることで、使い勝手をより良くしていくことが出来ることも魅力の一つです。Kubernetes環境管理のファーストステップとして導入するのも良いかと思います。

まとめ

本記事では、VMware vSphere IaaS control plane(旧称:VMware vSphere with Tanzu)で実現できる2つのKubernetes環境について説明をしました。

Kubernetesは1から構築するとなると、マシンの準備からコンテナランタイムの選定、各コンポーネントの互換性など考慮しなければいけないポイントが多くあります。しかし、VMware vSphere IaaS control planeではvSphere に精通した技術者の方であれば、比較的簡単にKubernetes環境の導入が可能になっており、Kubernetesに対する学習コストを抑える効果もあります。 vSphere環境でKubernetes環境を管理することで、例えば開発者が独自に展開していたKubernetes環境を集約し、サイロ化を防ぐことも出来ます。VMware vSphere IaaS control planeはvSphere環境を有しており、これからKubernetes環境を整えていく企業にとって有力な選択肢になるのではないでしょうか。

ネットワールドではVMware vSphere IaaS control planeに関してもヴイエムウェアと緊密に連携し、お客様の課題やご要望に応じた構築サービスや技術支援サービスを提供しています。
VMware vSphere IaaS control planeをご検討の際は、ぜひネットワールドまでお問合せください!

目次