Kubernetes ネットワーク ポリシーのエクスポートと適用
Kubernetes オブジェクトに関連する推奨ネットワーク ポリシー ルールを YAML 形式でエクスポートできます。
VMware Aria Operations for Networks
による YAML 形式へのエクスポートでは、名前空間によるグループ化と、サービス トポロジによるグループ化のみがサポートされます。
- 推奨ルールを YAML 形式にエクスポートするには、[セキュリティのプラン] モデルで、セキュリティを計画する Kubernetes クラスタを選択し、次のいずれかの手順を実行します。
- マイクロ セグメント ウィジェットで詳細オプションを展開し、ルールを YAML としてエクスポートを選択します。
- マイクロ セグメントのホイール ビューでノードを選択し、[推奨されるファイアウォール ルール] の数をクリックし、詳細オプションを展開して、ルールを YAML としてエクスポートを選択します。
Kubernetes ネットワーク ポリシーに基づいて名前が付けられ、タイムスタンプが設定された ZIP ファイルが、VMware Aria Operations for Networksによってダウンロードされます。このファイルを解凍すると、次の 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.csvVMware Aria Operations for Networksで推奨されるすべてのルールが含まれています。exported-network-policy-rule-names.csv推奨ルールに基づいてエクスポートされたすべてのネットワーク ポリシーを一覧表示します。 - サービス ラベルを適用するには、以下の手順を実行します。
- 以下の Kubernetes CLI コマンドを実行します。kubectl edit deployment-nservice-namenamespace-namekubectl edit deployment-nredis-primaryguestbookサービスの展開ファイルが開きます。
- サービス ラベル リストで、CSV ファイルで提案されたラベルをサービス展開の仕様セクションに示されているラベルに追加します。
- 名前空間ラベルを適用するには、次の手順を実行します。
- 以下の Kubernetes CLI コマンドを実行します。kubectl edit namespacenamespace-namekubectl edit namespaceguestbook名前空間の展開ファイルが開きます。
- メタデータで、CSV ファイルで提案されたラベルを名前空間展開のspecセクションに示されているラベルに追加します。
- 以下のコマンドを実行して、ラベルがポッドに適用されているかどうかを確認します。kubectl get pods -n--show-labelsnamespace-namekubectl get pods--show-labelsguestbook結果ビューでラベルを確認します。名前空間に適用すると、ラベルはポッドに反映されません。
- ネットワーク ポリシーを作成するには、それぞれのクラスタ フォルダから別のフォルダに YAML ファイルをコピーして、次のどちらかのコマンドを実行します。
- kubectl apply -f <folder-name>/:すべてのファイアウォール ルールをまとめて適用します。
- kubectl apply -f <folder-name>/<firewall-rule>.yaml:ファイアウォール ルールを 1 つずつ適用します。