网站分享的功能怎么做的百度推广免费
默认情况下,如果名称空间中没有配置 NetworkPolicy,则该名称空间中,所有Pod的所有入方向流量和所有出方向流量都是被允许的。
那么如果我们想改变名称空间中默认的网络策略,又该怎么做呢?
默认拒绝所有的入方向流量
在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy:
- 选中所有的 Pod
- 不允许任何入方向的流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny
spec:podSelector: {}policyTypes:- Ingress
apiVersion: networking.k8s.io/v1
: 这是 Kubernetes API 的版本,指定了该配置文件所使用的网络策略 API 版本。在此例中,它使用的是networking.k8s.io/v1
版本。kind: NetworkPolicy
: 这表明我们正在定义一个网络策略对象。metadata
: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name
)。name: default-deny
: 这是网络策略对象的名称。在这个例子中,它命名为 “default-deny”。spec
: 这是网络策略对象的规范部分,定义了实际的策略规则。podSelector: {}
: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{}
表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。policyTypes: - Ingress
: 这是策略的另一个重要字段,用于指定策略的类型。在这里,它指定了该策略只影响入站(Ingress)流量,也就是控制其他 Pod 访问本 Pod 的流量。
此 NetworkPolicy 将确保名称空间中所有的入方向流量都被限制,同时,不改变出方向的流量.
默认允许所有的入方向流量
在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有入方向网络流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all
spec:podSelector: {}ingress:- {}policyTypes:- Ingress
apiVersion: networking.k8s.io/v1
: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。kind: NetworkPolicy
: 这表明我们正在定义一个网络策略对象。metadata
: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name
)。name: allow-all
: 这是网络策略对象的名称。在这个例子中,它命名为 “allow-all”。spec
: 这是网络策略对象的规范部分,定义了实际的策略规则。podSelector: {}
: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{}
表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。ingress: - {}
: 这是策略的另一个重要字段,用于指定入站流量的规则。在这里,{}
表示没有明确指定任何入站规则。空的ingress
规则表示允许所有的入站流量,因为没有明确指定任何限制条件。policyTypes: - Ingress
: 这是策略的最后一个字段,用于指定策略的类型。在这里,它指定了该策略只影响入站(Ingress)流量,也就是控制其他 Pod 访问本 Pod 的流量。
默认允许所有出方向流量
在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 允许名称空间中所有 Pod 的所有出方向网络流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: allow-all
spec:podSelector: {}egress:- {}policyTypes:- Egress
apiVersion: networking.k8s.io/v1
: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。kind: NetworkPolicy
: 这表明我们正在定义一个网络策略对象。metadata
: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name
)。name: allow-all
: 这是网络策略对象的名称。在这个例子中,它命名为 “allow-all”。spec
: 这是网络策略对象的规范部分,定义了实际的策略规则。podSelector: {}
: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{}
表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。egress: - {}
: 这是策略的另一个重要字段,用于指定出站流量的规则。在这里,{}
表示没有明确指定任何出站规则。空的egress
规则表示允许所有的出站流量,因为没有明确指定任何限制条件。policyTypes: - Egress
: 这是策略的最后一个字段,用于指定策略的类型。在这里,它指定了该策略只影响出站(Egress)流量,也就是控制本 Pod 访问其他 Pod 的流量。
默认拒绝所有入方向和出方向的网络流量
在名称空间中创建下面的 NetworkPolicy,该 NetworkPolicy 禁止名称空间中所有 Pod 的所有入方向流量和所有出方向流量
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:name: default-deny
spec:podSelector: {}policyTypes:- Ingress- Egress
apiVersion: networking.k8s.io/v1
: 这指定了使用的 Kubernetes API 版本,表示该配置文件遵循的网络策略 API 的版本。kind: NetworkPolicy
: 这表明我们正在定义一个网络策略对象。metadata
: 这是网络策略对象的元数据部分,包含关于该策略的信息,比如名称(name
)。name: default-deny
: 这是网络策略对象的名称。在这个例子中,它命名为 “default-deny”。spec
: 这是网络策略对象的规范部分,定义了实际的策略规则。podSelector: {}
: 这是策略的一个重要字段,用于选择要应用该策略的 Pod。在这里,{}
表示选择所有的 Pod,因为它是一个空的标签选择器,没有指定任何特定的标签。这意味着该策略将应用于所有的 Pod。policyTypes: - Ingress - Egress
: 这是策略的另一个重要字段,用于指定策略的类型。在这里,它指定了该策略同时影响入站(Ingress)和出站(Egress)流量,也就是控制其他 Pod 访问本 Pod 的流量以及本 Pod 访问其他 Pod 的流量。