码迷,mamicode.com
首页 > 其他好文 > 详细

隔离pod 的网络

时间:2020-01-19 12:44:27      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:open   pen   默认   div   label   gif   opened   mes   nbsp   

介绍

所谓得隔离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 的网络

标签:open   pen   默认   div   label   gif   opened   mes   nbsp   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!