pod 间的网络安全.

  • 是否可以进行这些配置取决于集群所使用的容器网络插件
  • 用 NetworkPolicy 配置

两种规则:

  • ingress 入向
  • egress 出向

三种配置项 (配置方法):

  • 由标签选择器选中的 pod
  • namespace 中所有 pod
  • CIDR 指定 IP 地址段

13.4.1 在一个命名空间中启用网络隔离

默认情况下, 某一 namespace 中的 pod 可被任意来源访问.

创建一个阻止任何来源访问的 default-deny NetworkPolicy:

image.png

13.4.2 允许同一命名空间中的部分 pod 访问一个服务端 pod

app=webserver 的 pod 能够访问 app=database 的 pod 的 5432 端口:

image.png

image.png

pod 通过 Service 访问时, NetworkPolicy 仍然有效.

13.4.3 在不同 Kubernetes 命名空间之间进行网络隔离

允许部分其他 namespace 中的 pod 访问:

image.png

image.png

注意:

  • 租户不能为他们的 namespace 添加标签

13.4.4 使用 CIDR 隔离网络

其实就是 from 字段指定 ip 地址段:

image.png

13.4.5 限制 pod 的对外访问流量

egress.

image.png

应该是 webserver 只能与 database 的 pod 通信.