F5とNuitanixのコンテナ基盤ソリューションについて
TEDが取り扱っているF5とNutanixのコンテナ基盤ソリューションについて説明します。
みなさん こんにちは
TEDでエンジニアしているあつふみです。
本ブログは、「コンテナ技術とTEDのコンテナ基盤ソリューションについて」の続きです。
今回は、F5とNutanixのそれぞれのコンテナ基盤ソリューション(以下、K8s)に、簡単なアプリケーションをデプロイしましたので、その手順や特徴をご紹介します。
F5 XCのK8s
F5 XCのK8sは、クラウド環境、オンプレミス環境、どちらの場所にも展開することができます。
また、F5 XCのK8sはvK8sとmK8sの2種類があります。詳細は本ブログでは述べませんが、vK8sはF5のクラウド上に展開して利用可能なkubernetesです。制約事項がありますが、mK8sより簡単に展開することが可能です。
一方でmK8sは、vK8sより展開の手順は増えますが、vK8sのような制約は無く、こちらも比較的容易に展開可能です。
今回は、より簡単に展開できるvK8sを利用してアプリケーションをデプロイしたいと思います。
まずは、vK8sを展開してみます。
展開方法は、次の図のとおり非常に簡単です。「Distributed Apps」のVirtual K8sの設定画面に行き、名前を入力して「Save and Exit」をクリックするだけです。
mK8sも共通ですが、F5 XCではK8sクラスターはWebUI操作ができるのが非常に便利です。
次に、アプリケーションのデプロイ方法についてです。
F5XCのK8sにアプリケーションをデプロイする方法はいくつかあります。
今回は、一番簡単なWorkloadを利用して、F5のクラウド上にアプリケーションをデプロイ方法をご紹介します。
細かい操作方法は省略しますが、実際にGUIでやってみたのが次の図です。
設定の流れとしては、以下の通りです。
-
Docker HubやPrivate Registryにあるコンテナイメージを指定
-
コンテナのPort/Portocolを指定
-
コンテナを公開するためのFQDNを指定
Kuberctlなどのコマンド操作は一切必要なく、K8sの知識が無くても簡単にデプロイできます。
試しに設定したFQDNにアクセスすると、次のとおり簡単なアプリケーションにアクセスできました。
F5XCであれば、アプリケーションを公開するだけでなく、デプロイしたアプリケーションをWAFを使って保護することもできます。
セキュリティやネットワークの機能まで欲しい方は、F5XCのK8sは非常に適したソリューションです。
NutanixのK8s
次はNutanixです。
NutanixのK8sは、基本的にはNutanix HCI上で展開されます。
NutanixのK8sクラスターの展開方法もシンプルになっており、数ステップでK8sクラスターを展開することができます。
設定イメージは次のとおりです。
NutanixのK8sは、Cotainer Networkの設定などもできるため、F5XCのvk8sよりも細かい設定を行うことが可能です。
ちなみにWorker Nodeの追加も数クリックで可能です。
次にアプリケーションのデプロイ方法です。
アプリケーションをデプロイするには、kubectlコマンドを利用します。一般的なKubernetesクラスターにデプロイする時と同等の操作になります。
次の図は、K8sにアプリケーションをデプロイ/公開するためのマニフェストファイルです。
このマニフェストファイルを使って、kubectlコマンドを実行します。
# kubectl apply -f <マニフェストファイル名>実行後、次のコマンドでデプロイできたか確認できます。
# kubectl get pod,svc
では、実際にアプリケーションにアクセスしてみましょう。
詳細は割愛しますが、今回の場合はNutanix上のK8s nodeのService(Node Port)宛にcurlコマンドを投げます。
200 OKが返ってきているので問題無くアクセスできてます。
F5XCとNutanixのK8sについて
それぞれのK8sの特徴を次の表に纏めました。
F5 XC | Nutanix | |
K8sクラスターの柔軟性 | 〇 | ◎ |
アプリケーションのデプロイ | ◎ | 〇 |
ネットワーク/セキュリティの機能 | ◎ | – |
F5 XCのK8sはvK8sとmK8sの2種類あり、vK8sに関しては制限事項があるので、用途を考えながら選択する必要があります。
一方で、アプリケーションのデプロイをWebUIから実行できる点は非常に便利です。また、ネットワークやセキュリティ機能も利用できるので、まずはコンテナを使ってみたいという方は、F5XCが向いています。
NutanixのK8sは、スケーラブルでリッチなリソースのKubernetesを使いたい方には向いています。Nutanix HCIで動くK8sになりますので、HCIの恩恵をそのまま受けることができます。スケールも容易に実行可能で、リソースも効率よく利用できます。K8sクラスターの展開も数ステップで可能です。
また、アプリケーションのデプロイのデプロイ方法なども、Kubectlコマンドで実行しますので、既にKubernetesを利用している方は、これまでと同じように利用することができます。
今回は、F5 XC とNutanixのK8sを比較しました。
次回は、この2つの得意なところを組み合わせた形で、ソリューションを紹介する予定です。