专栏首页Tungsten Fabric中文社区TF+K8s部署指南丨K8s更新及Tungsten Fabric功能支持
原创

TF+K8s部署指南丨K8s更新及Tungsten Fabric功能支持

本文重点介绍Kubernetes的更新,以及Tungsten Fabric中相应支持的功能。

Kubernetes节点的TLS引导功能

从5.1版本开始,Tungsten Fabric支持Kubernetes节点的TLS引导(Bootstrapping)。TLS引导简化了Kubernetes从TF集群中添加和移除节点的能力。

基于优先权的多租户

从5.1版本开始,Tungsten Fabric通过ResourceQuotaScopeSelector功能支持各种资源配额的优先级。

改进的自动缩放功能

从5.1版本开始,Tungsten Fabric可以基于负载创建和删除pod,从而支持改进的pod自动缩放功能。

通过ip-fabric-forwarding功能实现Kubernetes Pod的可达性

Kubernetes pod是一组单个或多个容器(如Docker容器),这些容器共享的存储,以及如何运行容器的配置选项。由于pod处于overlay网络中,所以如果没有网关或vRouter,就无法从underlay网络直接到达。

从TF 5.0版本开始,ip-fabric-forwarding功能可以将虚拟网络作为underlay网络的一部分而创建,并消除了针对数据的封装和解封装需求。注意,ip-fabric-forwarding功能仅适用于pod网络。如果启用了ip-fabric-forwarding功能,pod-网络就会关联到ip-fabric-ipam,而不是pod-ipam,pod-ipam也是一个flat子网。

这里的ip-fabric-forwarding功能在全局级和命名空间级中被启用和禁用。默认情况下,全局级别的ip-fabric-forwarding功能是被禁用的。要在全局级别启用该功能,必须在/etc/contrail/contrail-kubernetes.conf文件的"[KUBERNETES]"部分将"ip_fabric_forwarding"设置为"true"。要在命名空间级别启用或禁用该功能,必须在命名空间注释中分别将"ip_fabric_forwarding"设置为"true"或"false"。例如,"opencontrail.org/ip_fabric_forwarding":"true"。该功能一旦启用,就不能被禁用。

更多信息,请参阅以下链接:

https://github.com/tungstenfabric/tf-specs/blob/master/gateway-less-forwarding.md

通过虚拟网络实现服务隔离

在隔离命名空间模式下,一个命名空间中的服务无法从其它命名空间访问,除非明确定义了安全组或网络策略以允许访问。如果任何Kubernetes服务是由隔离命名空间中的pod实现的,那么这些服务只能通过Kubernetes的service-ip对同一命名空间中的pod进行访问。

Kubernetes的service-ip虽然在一个隔离的命名空间中,但还是从集群网络中分配。因此,默认情况下,来自一个命名空间的服务可以到达另一个命名空间的服务。然而,隔离命名空间中的安全组会阻止从外部命名空间的访问,也会阻止从集群外部的访问。为了使外部命名空间能够访问,必须编辑安全组以允许访问所有命名空间,但这就违背了隔离的目的。

这里的ip-fabric-forwarding功能在全局级和命名空间级中被启用和禁用。默认情况下,全局级别的ip-fabric-forwarding功能是被禁用的。要在全局级别启用该功能,必须在/etc/contrail/contrail-kubernetes.conf文件的"[KUBERNETES]"部分将"ip_fabric_forwarding"设置为"true"。要在命名空间级别启用或禁用该功能,必须在命名空间注释中分别将"ip_fabric_forwarding"设置为"true"或"false"。例如,"opencontrail.org/ip_fabric_forwarding":"true"。该功能一旦启用,就不能被禁用。

更多信息,请参阅以下链接:

https://github.com/tungstenfabric/tf-specs/blob/master/gateway-less-forwarding.md

通过虚拟网络实现服务隔离

在隔离命名空间模式下,一个命名空间中的服务无法从其它命名空间访问,除非明确定义了安全组或网络策略以允许访问。如果任何Kubernetes服务是由隔离命名空间中的pod实现的,那么这些服务只能通过Kubernetes的service-ip对同一命名空间中的pod进行访问。

Kubernetes的service-ip虽然在一个隔离的命名空间中,但还是从集群网络中分配。因此,默认情况下,来自一个命名空间的服务可以到达另一个命名空间的服务。然而,隔离命名空间中的安全组会阻止从外部命名空间的访问,也会阻止从集群外部的访问。为了使外部命名空间能够访问,必须编辑安全组以允许访问所有命名空间,但这就违背了隔离的目的。

Kubernetes服务Node-Port是基于节点与pod的可达性。由于Tungsten Fabric通过网络策略提供了节点和pod之间的连接,所以支持Node Port。

Kubernetes网络策略支持

Tungsten Fabric支持以下Kubernetes 1.12版网络策略功能。

·网络策略的egress支持——每个 NetworkPolicy包括一个policyTypes列表(包括Ingress、Egress,或两者兼有)。policyTypes字段表示给定策略是否适用于所选pod的ingress流量,是否适用于所选pod的egress流量,或者两者都适用。从5.1版本开始,Tungsten Fabric支持podSelector&namespaceSelector egress规范。从5.0版本开始,Tungsten Fabric还支持podSelector、namespaceSelector和egress CIDR规范。

·无类别域间路由(CIDR)选择器支持egress和ingress网络策略。

·Contrail-ansible-deployer提供——Contrail-ansible-deployer更新以支持Kubernetes 1.12。

Tungsten Fabric支持Kubernetes 1.9.2版本,并能够在TF中使用防火墙安全策略框架实现Kubernetes网络策略。虽然Kubernetes网络策略可以使用TF中的其它安全对象(如安全组和TF网络策略)来实现,但TF防火墙安全策略对标签的支持,有助于工作负载的简化和抽象。

(注:原文出现Contrail或Contrail networking的地方,本文都以Tungsten Fabric替代,绝大多数情况下两者功能一致。)

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 杨雨:Tungsten Fabric如何增强Kubernetes的网络性能

    在混合多云的世界里,Kubernetes是如此流行,已经成为应用统一部署和管理的事实标准,而Tungsten Fabric与Kubernetes的集成,更增强了...

    Tungsten Fabric
  • Tungsten Fabric与K8s集成指南丨创建隔离命名空间

    K8s与Tungsten Fabric集成后有四种配置模式,分别为:默认模式、自定义隔离模式、命名空间隔离模式、嵌套模式。

    Tungsten Fabric
  • 四种模式、七大元素:玩转TF+K8s CNI集成部署

    Tungsten Fabric从4.0版本起,就开始支持用于将Kubernetes自动化平台与TF的集成的容器网络接口(CNI)。本文就来介绍基于CNI的TF+...

    Tungsten Fabric
  • Tungsten Fabric与K8s集成指南丨创建安全策略

    安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Polic...

    Tungsten Fabric
  • 王峻:借助开源SDN利器打通异构混合云

    https://tungstenfabric.org.cn/assets/uploads/files/tf-live4-sdn.pdf

    Tungsten Fabric
  • TF云原生技术路线图

    【直播视频回放】 https://v.qq.com/x/page/o3137w1nh3x.html

    Tungsten Fabric
  • 通过TF Operator进行统一生命周期管理

    在Linux基金会主办的“LFN技术会议”上,Tungsten Fabric社区进行了一系列演讲,介绍最新的功能和未来发展方向。今天带来第三篇演讲,通过TF O...

    Tungsten Fabric
  • TF功能开发路线图:盘点2021年Tungsten Fabric聚焦领域

    在Linux基金会主办的“LFN技术会议”上,Tungsten Fabric社区进行了一系列演讲,介绍最新的功能和未来发展方向。今天带来第一篇演讲,看看Tung...

    Tungsten Fabric
  • 使用Ansible部署器设置一个小型的TF+K8s实验室

    Kubernetes绝对是SDN和虚拟化世界中最热门的趋势之一。简单来说,对于虚拟机我们有OpenStack,而对于容器那就是Kubernetes了(或者Red...

    Tungsten Fabric
  • TF+K8s部署指南丨容器的多网络接口(multi-net)功能支持

    从4.0版开始,Tungsten Fabric为使用Kubernetes编排器的容器提供网络支持。你可以使用标准容器网络接口(CNI插件)为创建的每个容器分配一...

    Tungsten Fabric
  • Tungsten Fabric入门宝典丨首次启动和运行指南

    Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全...

    Tungsten Fabric
  • TF+K8s轻松上手|TF Carbide评估指南--准备篇

    Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器...

    Tungsten Fabric
  • Tungsten Fabric与K8s集成指南丨创建虚拟网络

    在做好架构部署,并确认Tungsten Fabric和Kubernetes(K8s)集群的初始状态没有问题后,就可以开始尝试创建虚拟网络了。

    Tungsten Fabric
  • 为OpenStack和K8s集群提供无缝虚拟网络

    现实情况下,可能会发生虚拟机和容器需要相互“交谈”的情况。如果是这样,我们需要以某种方式实现两个独立集群之间的通信。

    Tungsten Fabric
  • 基于Tungsten Fabric打通异构资源网络

    作为开源SDN的代表,不少厂商都基于Tungsten Fabric开发出了成熟的应用方案,华胜天成异构混合云管理平台就是其中一例。由华胜天成自主开发的统一云平台...

    Tungsten Fabric
  • Tungsten Fabric解决方案指南-Kubernetes集成(上)

    集成方案中,在Kubernetes和Tungsten Fabric(编者按:原文为Contrail,其开源版已更名为Tungsten Fabric,本文出现Co...

    Tungsten Fabric
  • 在K8s上轻松部署Tungsten Fabric的两种方式

    首先介绍下如何在AWS上使用Kubernetes编排的Tungsten Fabric集群部署沙盒,15分钟就可以搞定。Tungsten Fabric集群由部署节...

    Tungsten Fabric
  • Tungsten Fabric与K8s集成指南丨部署准备与初始状态

    说明:文中部分内容涉及到“Contrail”,Tungsten Fabric原名为OpenContrail,商业版本为Juniper Contrail。

    Tungsten Fabric
  • TF Live丨KK/建勋:多云、SDN,还有网工进化论

    3月18日,第一场【TF Live】如约而至,活动持续了两个多小时,在线人数将近1000人,互动讨论热闹十足。TF中文社区技术代表、瞻博网络全国合作伙伴技术经理...

    Tungsten Fabric

扫码关注云+社区

领取腾讯云代金券