k83印花网络策略

  

常见的参股了网络插件包含以下几种:

  

法兰绒:为Kubernetes提供叠加网络的网络插件,基于TUN/TAP隧道技术,使用UDP封装IP报文进行创建叠加网络,借助etcd维护网络的分配情况,缺点:无法支持网络策略访问控制。
棉布:基于边界网关协议的三层网络插件,也支持网络策略进而实现网络的访问控制;它在每台主机上都运行一个虚拟路由,利用Linux内核转发网络数据包,并借助iptables实现防火墙功能。实际上白布最后的实现就是将每台主机都变成了一台路由器,将各个网络进行连接起来,实现跨主机通信的功能。
运河:由法兰绒和棉布联合发布的一个统一网络插件,提供参股了网络插件,并支持网络策略实现。
其他的还包括编织网,Contiv, OpenContrail,和平,NSX-T, kube-router等等。而法兰绒和棉布是目前最流行的选择方案。

  

1。全部拒绝

  
 <代码> apiVersion: networking.k8s.io/v1
  :NetworkPolicy
  元数据:
  名称:deny-all-egress
  名称空间:cs1
  #应用于cs1名称空间,不写名称空间对违约应用
  规范:
  podSelector: {}
  入口:
  出口:
  #定义出站规则,这里没有写任何策略,表示全部拒绝。
  policyTypes:
  - - - - - -出口
  - - - - - -进入
  #这里面有出口就表示要定义出站规则,不写出口就是默认通行,入口是入站原理一样
  #建议大家把两个都写上去然后使用“podSelector:“来控制是否能通行 
  

2。全部允许

  
 <代码> apiVersion: networking.k8s.io/v1
  :NetworkPolicy
  元数据:
  名称:allow-all-egress
  名称空间:cs1
  规范:
  podSelector: {}
  入口:
  ——{}
  #这样表示“入口”方向的全部允许通行
  出口:
  ——{}
  #这样表示“出口”方向的全部允许通行
  policyTypes:
  - - - - - -出口
  ——进入 
  

这个网络策略只对名称空间起效,宿主机依然可以访问

  

3。作用范围

  
 <代码> apiVersion: networking.k8s.io/v1
  :NetworkPolicy
  元数据:
  名称:拒绝所有
  名称空间:默认
  #只作用于默认名称空间
  规范:
  podSelector:
  #匹配舱范围如果匹配该名称空间的所有pod输入“{}”即可
  matchLabels:
  访问:“真正的”
  #匹配舱中有访问=true的标签
  policyTypes:
  - - - - - -进入
  - - - - - -出口
  入口:
  出口: 
  

4。限制IP策略

  

 k83印花网络策略”> <br/> #上图每个cs容器的IP </p>
  <pre> <代码> apiVersion: networking.k8s.io/v1
  :NetworkPolicy
  元数据:
  名称:拒绝所有
  规范:
  podSelector: {}
  policyTypes:
  - - - - - -出口
  - - - - - -进入
  入口:
  出口:
  -:
  #注意:出口用,入口用
  了ipBlock:
  cidr: 192.168.0.0/16
  #放行192.168.0.0/16网络
  除了:
  ——192.168.94.134/32
  #但不包括这个ip </代码> </pre>
  <p> <img src=k83印花网络策略