3

我试图找出验证给定集群的网络策略配置的最佳方法。 根据文档

网络策略是由网络插件实现的,因此您必须使用支持 NetworkPolicy 的网络解决方案——简单地创建资源而没有控制器来实现它是没有效果的。

假设我只能通过 kubectl 访问我的集群,我应该怎么做才能确保部署到集群中的网络策略资源得到遵守?

我知道可用的 CNI 和相关的矩阵功能
我知道您可以检查与这些 CNI 相关的 kube-system 下部署的 pod,并使用 for ex 验证相关功能。我共享的矩阵,但我想知道是否有更结构化的方法来验证当前安装的 CNI 和相关功能。

关于“实现它的控制器”,有没有办法获取与网络策略相关的插件/控制器列表?

4

1 回答 1

1

验证给定集群的网络策略配置的最佳方法是什么?

如果您有权访问 pod,则可以运行测试以确保您的 NetworkPolicies 是否有效。有两种方法供您检查:

  • 使用 kubectl ( kubectl get networkpolicies) 读取您的 NetworkPolicy。
  • 测试您的端点以检查 NetworkPolicies 是否有效。

我想知道是否有更结构化的方法来验证当前安装的 CNI 和相关功能。

没有结构化的方法来检查您的 CNI。您需要了解您的 CNI 是如何工作的,以便能够在您的集群上识别它。例如,对于 Calico,您可以通过检查 calico pod 是否正在运行来识别它。( kubectl get pods --all-namespaces --selector=k8s-app=calico-node)

关于“实现它的控制器”,有没有办法获取与网络策略相关的插件/控制器列表?

“实现它的控制器”是对您正在使用的 CNI 的引用。

有一个名为Kubernetes Network Policies Viewer的工具,可以让您以图形方式查看您的 NetworkPolicy。这与您的问题无关,但它可能会帮助您可视化您的 NetworkPolicies 并了解它们在做什么。

于 2019-12-31T11:59:34.437 回答