简而言之,窗格只能访问其所在的主机。
我有一个带有3个节点和Calico插件的k8s-1.15集群:
有2个Pod,其中pod-1运行在master(1.137)上,pod-2运行在node1(1.138)上,当我从pod-1(运行1.137)ping 192.168.1.138时,我得到了: >
[~pod-1] # ping 192.168.1.138
PING 192.168.1.138 (192.168.1.138): 56 data bytes
但是如果我从pod-1(在1.137上运行)ping 1.137,它将成功:
[~pod-1] # ping 192.168.1.137
PING 192.168.1.137 (192.168.1.137): 56 data bytes
64 bytes from 192.168.1.137: seq=0 ttl=64 time=0.089 ms
64 bytes from 192.168.1.137: seq=1 ttl=64 time=0.094 ms
我应该如何解决?
答案 0 :(得分:1)
您的问题将在Issue #2543
中回答这似乎可以正常工作,因为您的网络策略没有任何出口规则。
如果要拒绝从Pod A出站,可以将以下部分添加到NetworkPolicy中:
types: - Ingress - Egress
这将告诉该策略同时应用于入口和出口流量,除非您指定出口规则,否则来自Pod A的所有出口将被拒绝。
或者,您可以创建一个选择Pod B的入口策略,以防止Pod A访问它。
您可以使用calicoctl profile
编辑禁止入站流量的默认策略
calico profile {{ profile_name }} rule add inbound allow from <ip>