我正在尝试找出哪种最佳方法来验证给定群集的网络策略配置。 According to the documentation
网络策略是由网络插件实施的,因此您必须 使用支持NetworkPolicy的网络解决方案-只需 在没有控制器实现的情况下创建资源将具有 没有效果。
假设我只能通过kubectl访问我的集群,我该怎么做才能确保部署到集群中的网络策略资源得到尊重?
我知道可用的CNI和related matrix capabilities。
我知道您可以检查与这些CNI相关的kube系统下部署的Pod,并使用ex验证相关功能。我共享的矩阵,但是我想知道是否有一种更结构化的方法来验证当前安装的CNI及其相关功能。
关于“控制器的实现”,有没有办法获取与网络策略相关的附加组件/控制器的列表?
答案 0 :(得分:0)
验证网络策略配置的最佳方法 给定的集群?
如果有权访问Pod,则可以运行测试以确保您的NetworkPolicies有效或无效。有两种检查方法:
kubectl get networkpolicies
)阅读您的NetworkPolicy。 我想知道是否有一种更结构化的方法来验证当前 已安装CNI及其相关功能。
没有结构化的方法来检查您的CNI。您需要了解CNI的工作方式,以便能够在集群上对其进行识别。例如,对于Calico,您可以通过检查calico吊舱是否正在运行来识别它。 (kubectl get pods --all-namespaces --selector=k8s-app=calico-node
)
关于“控制器实现”,是否有办法 与网络策略相关的加载项/控制器列表?
“实现它的控制器”是对您正在使用的CNI的引用。
有一个名为Kubernetes Network Policies Viewer的工具,可让您以图形方式查看NetworkPolicy。这与您的问题无关,但可以帮助您可视化NetworkPolicies并了解它们在做什么。