这里包含一系列的 Kubernetes 网络策略的相关用例以及相关的 YAML 文件。想要知道如何在 Kubernetes 中对某一应用的流量进行阻拦或者限制,请继续阅读。

尝试网络策略的最简单方法就是创建一个新的 Google Container Engine 集群。在现有集群上应用网络策略,可能会造成网络中断。在成文期间,多数云供应商尚未提供内置的网络策略支持。

如果你对网络策略一窍不通,建议首先阅读我的文章:Securing Kubernetes Cluster Networking。

开始之前

  • 创建集群

基础

  • 拦截到一个应用的所有流量

  • 限制到一个应用的流量

  • 允许所有目标为某个应用的流量

命名空间

  • 拦截当前命名空间中,所有白名单之外的流量

  • 拦截所有来自于其他命名空间的流量

  • 允许来自所有命名空间的,目标为某应用的流量

  • 允许所有来自于某命名空间的流量

  • 允许来自某命名空间某些 Pod 的流量

  • 限制当前命名空间内到某应用的流量

控制外部客户端流量

  • 允许外部客户端的流量

进阶

  • 只允许目标为指定端口的流量

  • 用多个选择器选择允许通过的流量

控制外发流量(Egress)