株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

【VMware】VKSクラスタ内のNamespace間通信の制御

こんにちは!ネットワールドSE殿貝です。

今日は、vSphere環境上で構成されるKubernetesクラスタ(VKSクラスタ)内のNamespace間通信の制御について、触れていきます。

Namespaceとは?
Namespaceは、Kubernetesクラスタ内の区画分けのイメージです。例えば、チームで分ける、アプリ単位で分ける。などで利用します。

VKSクラスタを作成した段階だと、Namespace間の通信は制御されていないので、どこにでも通信できてしまいます。

これだと都合が悪い場合は、Cluster Network PolicyをVKSクラスタに適用し、Namespace間通信を制御します。

では、実際に試してみましょう。ここでは、VKSクラスタは作成済としています。
Namespaceを2つ作成し(red/blue)、NginxをそれぞれのNamespaceに建てています。
まずは、Namespace間の通信を確かめてみます。

双方向に「HTTP/1.1 200 OK」が確認でき、Namespace間で通信が出来ることがわかります。

Network Cluster Policyを作成します。Namespace red, blue に対してDropの設定を記載しています。

この設定をVKSクラスタに適用します。

設定適用後に先ほどと同じようにNamespace redからred、redからblueに通信させてみると、redからblueの通信がタイムアウトしていることがわかりました。

VKSクラスタのCNIには標準でantreaが利用されます。
今回試した機能はantreaの機能の一つです。
その他の機能や設定ファイルの詳細などはantreaのドキュメントも参照してみてください。

https://antrea.io/docs/main/docs/antrea-network-policy/

ではまた、次回に~