
はじめに
こんにちは。SB C&Sの吉水です。本記事では、Nutanix Kubernetes Platform(NKP)の概要をご紹介します。
近年、Nutanixは仮想マシンだけでなく、コンテナも管理できるプラットフォームとして紹介されており、コンテナアプリケーション基盤の選択肢のひとつとして注目を集めています。その一方で、現時点でNKPに関する情報はそれほど多くはなく、どのような製品なのかを把握するのに苦労されている方もいらっしゃるのではないでしょうか。
そこで、今回は製品イメージを掴めるように、NKPの製品概要・特徴・展開方法を解説します。本記事を、NKPのキャッチアップの第一歩としてご活用いただければ幸いです。
NKPの製品概要
まずは、NKPの製品概要をご紹介します。NKPはハイブリッド・マルチクラウド環境におけるKubernetesクラスターの展開・管理を簡素化し、運用を効率化するためのプラットフォームです。NKPは、Nutanix AHVだけでなく、ベアメタルサーバーやvSphere環境にもKubernetesクラスターを展開できます。さらにクラウド環境としてAWS、Azure、GCPをサポートしているため、様々なインフラ環境にKubernetesクラスターを展開して運用できることがひとつの特徴です。
また、NKPにはKubernetesクラスターの展開・削除・アップグレードなどの、ライフサイクル管理を効率的に実行する機能があらかじめ搭載されています。利用者はKubernetesクラスターを手動で構築するのではなく、NKPを通じて標準化されたクラスターを自動的に作成して、管理することができます。
そして、NKPではKubernetes環境でよく利用されるアプリケーションを展開して管理できる点も魅力であり、以下のようなアプリケーションを必要に応じてデプロイできます。これにより、個々のアプリケーションをすべてコマンドで管理する必要はなく、NKPが提供するUIからバージョン管理などを行うことで運用の手間を軽減できます。
引用元:https://www.nutanix.com/ja/products/kubernetes-management-platform
NKPで展開したKubernetesとのストレージ連携
Kubernetesはコンテナアプリケーションを効率的に管理・運用するためのプラットフォームですが、実際には、Kubernetes本体だけでは本番環境向けの機能が十分ではないため、さまざまなプラグインを導入して運用することが一般的です。
そのなかでも、コンテナアプリケーションのデータ管理についても課題がありました。そこで、ここからはストレージ連携機能に焦点を当てて、NKPによってAHVのNutanixクラスター上にKubernetesを展開した場合の特徴を解説します。
Kubernetesにおけるストレージの必要性
まずは、一般的なKubernetesを運用する上でストレージが重要となる理由を説明します。Kubernetesで稼働するPodは、障害からの復旧時やアップデートを行う影響で、自動的に削除・再作成されることがあります。しかし、その際にPod内のデータはそのままでは保持されない仕組みになっています。
そのため、データ保存が必要なアプリケーションでは、PV(Persistent Volume / 永続ボリューム)を利用して外部ストレージへデータを保存します。これにより、再作成されたPodが、ストレージに保存されているデータに再接続して、利用を継続することができます。
Nutanix AHV上のKubernetesとストレージの連携
続いて、NKPを用いてNutanix AHVにKubernetesを展開した場合のストレージ連携について説明します。Kubernetesによって管理されるPVの実体はKubernetes外部のストレージ領域となるため、さまざまなストレージに対応するためのCSI(Container Storage Interface)と呼ばれる仕組みが用意されています。CSIは、Kubernetesから外部ストレージを利用するための標準インターフェースであり、接続先のストレージにあわせてメーカーなどから提供されるCSIドライバーのインストールが必要になります。
NutanixはHCI製品であり、従来の外部ストレージに相当する領域も、仮想化基盤と一体となっている「AOS Storage」として組み込まれています。NKPを用いてAHVにKubernetesクラスターを展開すると、Nutanixの提供するCSIドライバーである「Nutanix CSI Volume Driver」がデフォルトで導入されるため、Kubernetesとストレージの連携が容易に実現できます。
なお、Nutanix CSI Volume Driver ではNutanix Unified Storage(NUS) と連携するため、Volumes Block Storage(iSCSI、デフォルトで利用される)やFiles Storage(NFS)など、用途に合わせてPVとして使用するボリュームを選択できます。
NKPのクラスター構成
ここからは、より具体的なNKPの構成について説明します。AHV上のNKPでは、KubernetesクラスターにおけるControl Plane NodeやWorker Nodeの役割を仮想マシンで構成する仕組みになっています。NKP環境で用いられるKubernetesクラスターには、Management ClusterとManaged Clusterの2種類が存在します。
1つ目のManagement Clusterは、NKPをインストールして、管理機能を動作させるためのクラスターです。こちらは、クラスターの作成や削除、アップグレードなどを行うための管理基盤として利用されるものであり、Management Clusterを起点として、アプリケーションを実行するための複数のクラスターを作成して管理します。
2つ目のManaged Clusterは、Management Clusterによって作成・管理されるクラスターです。こちらが、コンテナアプリケーションを展開するクラスターであり、いわゆるワークロードを稼働させるための環境になります。
ちなみに、NKPではCluster APIを用いてクラスターの展開を行います。Cluster APIは、Kubernetesクラスターを宣言的に作成・管理するための標準的な仕組みであり、「管理用のKubernetesクラスター」を用意することで、複数のKubernetesクラスターを集中管理できます。そしてNutanix、vSphere、各種クラウド環境に対応する仕組みとして「Cluster API Provider」が提供されています。NKPではCluster APIを活用することで、ハイブリッド・マルチクラウド環境へのクラスター展開・管理を実現しています。
Management Clusterの展開方法
最後に、NKPの環境構築で最初に実施するManagement Clusterを展開する方法についてご紹介します。Management Clusterは主に2種類の方法で展開できます。
1つ目は、CLIベースでの展開手法です。こちらはLinuxマシン等からコマンドでNKPのクラスターを展開する形式です。CLIを実行するマシンの事前準備は必要になりますが、オプションの指定により、展開するKubernetesクラスターの柔軟なカスタマイズが可能です。
2つ目は、Prism CentralのMarketplaceからデプロイする方法です。MarketplaceはNutanix関連アプリケーションやパートナーソフトウェアの展開を容易にする機能であり、NKPも、Marketplaceアプリケーションとして登録されています。MarketplaceのUI画面から必要なパラメータを入力するだけでNKPのManagement Clusterを展開できます。
なお、現時点ではMarketplaceから展開できるNKPのバージョンは固定されているため、最新バージョンを使用する場合は、展開後にアップデートするか、CLIでの展開方法をご検討ください。
まとめ
本記事では、NKPの製品概要、ストレージ連携の特徴、NKPのクラスター構成、展開方法について解説しました。NKPの展開先としてNutanix AHVを利用することで、ストレージが統合されたKubernetesクラスターの展開が可能になり、迅速に環境構築できることを押さえていただければと思います。今後は具体的なNKPの構築手順やUI画面での操作などについてもご紹介しますので、ぜひご覧ください。
Nutanixの記事一覧ページはこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術統括部 第1技術部 1課
吉水 崚 - Ryo Yoshimizu -
