# Network Policies - Default

参考文档: Network Policies (opens new window)

默认情况下,如果名称空间中没有配置 NetworkPolicy,则该名称空间中,所有Pod的所有入方向流量和所有出方向流量都是被允许的。本文列举了几个例子,可以用来改变名称空间中默认的网络策略

# 默认拒绝所有的入方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy:

  • 选中所有的 Pod
  • 不允许任何入方向的流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
spec:
  podSelector: {}
  policyTypes:
  - Ingress
1
2
3
4
5
6
7
8

此 NetworkPolicy 将确保名称空间中所有的入方向流量都被限制,同时,不改变出方向的流量。

# 默认允许所有的入方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有入方向网络流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all
spec:
  podSelector: {}
  ingress:
  - {}
  policyTypes:
  - Ingress
1
2
3
4
5
6
7
8
9
10

# 默认允许所有出方向流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有出方向网络流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all
spec:
  podSelector: {}
  egress:
  - {}
  policyTypes:
  - Egress
1
2
3
4
5
6
7
8
9
10

# 默认拒绝所有入方向和出方向的网络流量

在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 禁止名称空间中所有 Pod 的所有入方向流量和所有出方向流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress
1
2
3
4
5
6
7
8
9

# SCTP 支持

FEATURE STATE: Kubernetes v1.12 alpha

在 Kubernetes 中启用 SCTPSupport 特性,可以在 NetworkPolicyprotocal 字段中使用 SCTP 这个选项,该特性为 alpha 状态。向 apiserver 的启动参数中添加 --feature-gates=SCTPSupport=true,... 可以激活该特性。

使用此特性时,您所用的网络插件需要支持 SCTP,请查询网络插件相关的文档。

更新时间: 2020-11-07 22:43:33