如何验证群集网络策略配置/支持

时间:2019-12-30 17:39:42

标签: kubernetes kubernetes-networkpolicy cni

我正在尝试找出哪种最佳方法来验证给定群集的网络策略配置。 According to the documentation

  

网络策略是由网络插件实施的,因此您必须   使用支持NetworkPolicy的网络解决方案-只需   在没有控制器实现的情况下创建资源将具有   没有效果。

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

我知道可用的CNI和related matrix capabilities
我知道您可以检查与这些CNI相关的kube系统下部署的Pod,并使用ex验证相关功能。我共享的矩阵,但是我想知道是否有一种更结构化的方法来验证当前安装的CNI及其相关功能。

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

1 个答案:

答案 0 :(得分:0)

  

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

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

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

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

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

  

关于“控制器实现”,是否有办法   与网络策略相关的加载项/控制器列表?

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

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