Kubernetes オブジェクトに関連する推奨ネットワーク ポリシー ルールを YAML 形式でエクスポートできます。vRealize Network Insight による YAML 形式へのエクスポートでは、名前空間によるグループ化と、サービス トポロジによるグループ化のみがサポートされます。

前提条件

手順

  1. 推奨ルールを YAML 形式にエクスポートするには、[セキュリティのプラン] モデルで、セキュリティを計画する Kubernetes クラスタを選択し、次のいずれかの手順を実行します。
    • マイクロ セグメント ウィジェットで詳細オプションを展開し、[ルールを YAML としてエクスポート] を選択します。
    • マイクロ セグメントのホイール ビューでノードを選択し、[推奨されるファイアウォール ルール] の数をクリックし、詳細オプションを展開して、[ルールを YAML としてエクスポート] を選択します。
    Kubernetes ネットワーク ポリシーに基づいて名前が付けられ、タイムスタンプが設定された ZIP ファイルが、 vRealize Network Insight によってダウンロードされます。このファイルを解凍すると、次の 5 つの CSV ファイルと、クラスタの数に応じて複数のフォルダが表示されます。各フォルダには、クラスタに対応する YAML ファイルが複数含まれています。
    ファイル名 説明
    network-policy-others-ipaddress.csv サービスまたは名前空間の通信相手となっている物理サーバおよび仮想マシンの IP アドレスが含まれます。
    recommended-namespace-labels-to-add.csv 名前空間に関連付けられたポッドに付けるラベルが含まれます。

    例:

    • [クラスタ]:pdk8s
    • [名前空間]:sock-shop
    • [ラベル]:sock-shop-pdk8s
    recommended-service-labels-to-add.csv サービスに関連付けられたポッドに付けるラベルが含まれます。

    例:

    • [クラスタ]:pdk8s
    • [名前空間]:sock-shop
    • [サービス]:front-end
    • [ラベル]:Service:front-sock-shop-pdk8s
    • [クラスタ]:pdk8s
    • [名前空間]:sock-shop
    • [サービス]:user
    • [ラベル]:Service:user-sock-shop
    recommended-network-policy.csv vRealize Network Insight で推奨されるすべてのルールが含まれています。
    exported-network-policy-rule-names.csv 推奨ルールに基づいてエクスポートされたすべてのネットワーク ポリシーを一覧表示します。
  2. サービス ラベルを適用するには、以下の手順を実行します。
    1. 以下の Kubernetes CLI コマンドを実行します。
      kubectl edit deployment service-name -n namespace-name
      kubectl edit deployment redis-primary -n guestbook
      サービスの展開ファイルが開きます。
    2. サービス ラベル リストで、CSV ファイルで提案されたラベルをサービス展開の仕様セクションに示されているラベルに追加します。
  3. 名前空間ラベルを適用するには、次の手順を実行します。
    1. 以下の Kubernetes CLI コマンドを実行します。
      kubectl edit namespace namespace-name
      kubectl edit namespace guestbook
      名前空間の展開ファイルが開きます。
    2. メタデータで、CSV ファイルで提案されたラベルを名前空間展開の spec セクションに示されているラベルに追加します。
  4. 以下のコマンドを実行して、ラベルがポッドに適用されているかどうかを確認します。
    kubectl get pods -n namespace-name--show-labels
    kubectl get pods guestbook--show-labels
    結果ビューでラベルを確認します。
    注: 名前空間に適用すると、ラベルはポッドに反映されません。
  5. ネットワーク ポリシーを作成するには、それぞれのクラスタ フォルダから別のフォルダに YAML ファイルをコピーして、次のどちらかのコマンドを実行します。
    • kubectl apply -f <folder-name>/:すべてのファイアウォール ルールをまとめて適用します。
    • kubectl apply -f <folder-name>/<firewall-rule>.yaml:ファイアウォール ルールを 1 つずつ適用します。