首页 > 其他 > 详细

隔离pod 的网络

时间:2020-01-19 12:36:00      阅读:94      评论:0      收藏:0      [点我收藏+]

介绍

所谓得隔离Pod网络就是通过限制 pod 可以与其他哪些 pod 通信,来确保 pod 之间的网络安全。是否可以进行这些配置取决于集群中使用的容器网络插件。如果网络插件支持,可以通过 NetworkPolicy 资源配置网络隔离。

NetworkPolicy

一个 NetworkPolicy 会应用在匹配它的标签选择器的 pod 上,指明这些允许访问这些 pod  的源地址,或者这些pod  可以访问的目标地址。这些分别由入向( ingress) 和出向( egress )规则指定。这两种规则都可以匹配由标签选择器选出的 pod ,或者一个 namespac 中的所有 pod ,或者通过无类别域间路由(Classless Inter-Domain Routing, CIDR )指定的 IP 地址段。注意: 入向规则与 负载均衡中的 Ingress 资源无关。
 

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

限制所有外部pod  访问这个命名空间下的所有 pod ,不限制出。

 

技术分享图片
vi np.yaml
  apiVersion: networking.k8s.io/v1
  kind: NetworkPolicy
  metadata:
    name: default-deny            #这个名字不可变,只有这个名字有限制入站访问的功能
  spec:
    podSelector:
      matchLabels: {}             #不指定标签,标识对此命名空间下所有的pod 都生效

kubectl  create  -f  np.yaml  -n  kzf   #指定命名空间下创建
View Code

 

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

虽然只添加了允许访问的pod ,但是此情况下默认拒绝所有其他的pod 的访问。

技术分享图片
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-allow
spec:
  podSelector:
    matchLabels:
      app : centos-lb                #此策略确保了标签app:centos-lb 的pod 的安全性
  ingress:
  - from:
    - podSelector:                  #只是允许标签app:webserver pod 的访问
        matchLabels:
          app: webserver
    ports:
    - port: 5432                    #只能访问此端口
View Code

隔离pod 的网络

原文:https://www.cnblogs.com/fanggege/p/12213006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!