我希望将NetworkPolicy用于从一组Pod到另一组Pod的出站流量。因此,我希望仅允许从标签为foo:bar的Pod到标签为foo:beer的pods的出站流量当前,所有带有标签的Pod都位于一个ClusterIP类型的服务对象之后。那么我可以使用服务对象的IP作为出口网络策略吗?如果那个IP不经常改变的话。
plupiseo1#
是的,您可以将服务对象的IP地址用于出口网络策略。正如您提到的,所有带有标签的Pod都在一个类型为ClusterIP的服务对象后面,这意味着只要不删除和重新创建服务对象,服务对象的IP地址就是稳定的。要配置出口网络策略,以允许从标签为foo:bar的pod到标签为foo:beer的pod的出口流量,您可以使用以下YAML配置:
kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: allow-foo-bar-to-foo-beer spec: podSelector: matchLabels: foo: bar egress: - to: - podSelector: matchLabels: foo: beer policyTypes: - Egress
此网络策略允许从标签为foo:bar的Pod到标签为foo:beer的Pod的传出流量,并阻止到任何其他Pod的传出流量。“到”字段指定允许传出流量的目标Pod,podSelector匹配标签为foo:beer的Pod。“策略类型”字段指定此策略仅适用于传出流量。您可以使用kubectl apply命令kubectl apply -f <filename>.yaml将此网络策略应用到群集
kubectl apply -f <filename>.yaml
1条答案
按热度按时间plupiseo1#
是的,您可以将服务对象的IP地址用于出口网络策略。正如您提到的,所有带有标签的Pod都在一个类型为ClusterIP的服务对象后面,这意味着只要不删除和重新创建服务对象,服务对象的IP地址就是稳定的。
要配置出口网络策略,以允许从标签为foo:bar的pod到标签为foo:beer的pod的出口流量,您可以使用以下YAML配置:
此网络策略允许从标签为foo:bar的Pod到标签为foo:beer的Pod的传出流量,并阻止到任何其他Pod的传出流量。“到”字段指定允许传出流量的目标Pod,podSelector匹配标签为foo:beer的Pod。“策略类型”字段指定此策略仅适用于传出流量。
您可以使用kubectl apply命令
kubectl apply -f <filename>.yaml
将此网络策略应用到群集