四大功能!带你初识 Fabric | 容器网络系列第2期( 二 )


  • 固定出口 IP
某些应用(如数据库)只能接受指定源 IP 地址的流量 , 其它地址的连接均不予接受 。 如果集群中所有需要访问应用的流量都需要集群管理人员手动配置的话 , 这明显是一个巨大的工作量 。 对此我们可以通过配置 EgressIP , 来配置专门的流量出口 , 大大减轻工作人员的运维压力 。
2.2 特点 Fabric EgressIP 功能的设计有如下特点:
(1) 配置灵活:EgressIP 可以配置为 namespace 级别 , 也可以设置为 pod 级别 , 满足不同级别的配置需求 。
(2) 高可用性:当 fabric 重启之后 , 会自动重新分配 EgressIP 。 当正在使用的 EgressIP 挂掉之后 , fabric 会自动在配置列表中选择一个最优且可用的 EgressIP 进行替换 。
(3) EgressIP 优选 , 在 EgressIP 可用列表中优先会选择 pod 所在节点做为 EgressIP , 从而减少网络损耗 。
2.3 实现原理
  • Egress IP 选择原理
(1) 获取可用 EgressIP 列表 。
(2) 判断可用 EgressIP 中是否有当前 pod 所在节点 , 如果存在则选择当前节点 IP 为 EgressIP 。
(3) 如果不存在则选择当前 pod 之前被分配过的 EgressIP 。
(4) 如果 pod 之前使用的 EgressIP 也不存在 , 则使用可用 EgerssIP 列表的最后一位 。
  • 网络传输原理
当 pod 数据访问目的地址被判定为外部网络时 , 数据会发往 EgressIP 所在的节点 , 然后从 EgressIP 所在节点传输到外部网络 。
具体网络传输过程如图 2 所示:
四大功能!带你初识 Fabric | 容器网络系列第2期
文章图片

注:Fabric overlay 网络支持多种封装协议(vxlan、gre、geneve) , 图 2 仅以 vxlan 作为示例 , 不代表仅支持 vxlan 。
三、QoS (Quality of Service) 服务质量 3.1 使用场景
  • 业务 Pod 双向限速
当集群网络资源有限时 , 某一时刻发生的大文件传输过程 , 或者其它需要占用大规模网络资源的情况 , 极易造成集群网络的崩溃 。 通过 QoS 配置 , 可以限制某些容易发生大规模传输的网络资源配额 , 给予其正常的网络带宽 , 从而保证集群整体网络的正常 。
3.2 特点 (1) 使用简单 , 直接通过的注解(annotation)进行双向的 Qos 配置 。
(2) 支持双栈 , IPV4 和 IPV6 都有很好的支持 。
(3) 支持多网络 , 在多网络的环境下 , 支持对每个网卡分别进行 QoS 配置 。
3.3 实现原理 Fabric 的容器网络架构基于 OpenvSwitch , pod 通过 veth peer 连接在 ovs bridge 的 port 上 , 主机侧的 veth 等同于 ovs 的 interface (网卡) , interface 插在 ovs port 里 , 所以我们控制 pod 的 QoS 就等同于控制对应 ovs interface/port 的 QoS 。 因此 , 配置 pod 出栈的 Qos 实际上是配置主机侧 veth 对应的 interface 的 ingress 属性 , 配置 pod 入栈的 QoS 实际是配置主机侧 veth 对应的 port (interface 插入的地方) 的 QoS 属性 。
Fabric 配置 QoS 的原理如图 3 所示:
四大功能!带你初识 Fabric | 容器网络系列第2期
文章图片
图 3:Fabric 配置 QoS 原理
四、租户隔离 4.1 使用场景
  • 多租户之间的网络隔离
多租户是一种软件设计架构 , 指的是单个软件实例可以为不同的用户提供服务 。 多租户架构在云计算领域也有广泛的应用 , 在云计算领域多租户除了指共享软件服务之外 , 也可以指服务器资源 , 服务器资源在不同的租户之间进行分配 。 多租户的特性就是要解决租户间的隔离问题 , 不同的租户之间不能互相访问数据 , 以此达到安全隔离的效果 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。