我一直在尝试在我的集群(k8s裸机(上实现网络策略,但在集群节点上运行的pod上似乎没有实现任何策略,只有在直接在主机上运行的pods上实现。
我尝试过的:
- 一个带有master+节点的单个命名空间和带有calicoctl的calico CNI,带有k8s数据存储(我可以看到calico/calicotl容器在两个节点上运行(
- 两种networkPolicy类型(networking.k8s.io/v1&projectcalico.org/v3(
- 应用一个简单的拒绝任何入口/出口策略,并将ping测试到8.8.8.8(主节点上的pod被阻止,其他节点上的pods仍然可以ping(
感谢的帮助
发现问题出在部署中,我使用了"hostNetwork",它使用的子网不是pod网络的一部分(因此Calico不知道(。
删除"hostNetwork:true"参数使容器获得适用于它的适当IP和网络策略。