广告
返回顶部
首页 > 资讯 > 精选 >Tungsten Fabric安装的示例分析
  • 918
分享到

Tungsten Fabric安装的示例分析

2023-06-03 16:06:50 918人浏览 薄情痞子
摘要

这篇文章主要介绍Tungsten Fabric安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Tungsten Fabric 组件的HA行为如果计划设置用于关键流量,则始终需要使用HA。Tungsten

这篇文章主要介绍Tungsten Fabric安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Tungsten Fabric 组件的HA行为

如果计划设置用于关键流量,则始终需要使用HA。

Tungsten Fabric拥有不错的HA实施,已经以下的文档中有相关信息。

  • Http://www.opencontrail.org/opencontrail-architecture-documentation/#section2_7

这里我想多说的一件事,cassandra的keyspace在configdb和analyticsdb之间具有不同的replication-factor。

  • configdb:
    https://GitHub.com/Juniper/contrail-controller/blob/master/src/config/common/vnc_cassandra.py#L609

  • analytics:
    https://github.com/Juniper/contrail-analytics/blob/master/contrail-collector/db_handler.cC#L524

由于configdb的数据已复制到所有的cassandras,因此即使某些节点的磁盘崩溃并需要抹掉,也不太可能丢失数据。另一方面,由于analyticsdb的replication-factor始终设置为2,因此如果两个节点同时丢失数据,那么数据就可能会丢失。

多NIC安装

在安装Tungsten Fabric时,许多情况下都需要进行多NIC安装,例如用于管理平面和控制/数据平面的,都是单独的NIC。

  • 绑定(bonding)不在此讨论中,因为bond0可以直接由VROUTER_GATEWAY参数指定

我需要明确一下在此设置中vRouter的有趣的行为。

对于controller/analytics来说,与典型的linux安装并没有太大区别,这是因为Linux可以与多个NIC和其自己的路由表(包括使用静态路由)很好地协同工作。

另一方面,在vRouter节点中您需要注意的是,vRouter在发送报文时不会使用Linux路由表,而是始终将报文发送到网关IP。

  • 这可以使用concert-vrouter-agent.conf中的网关参数和vrouter-agent容器的环境变量中的VROUTER_GATEWAY进行设置

因此,在设置多NIC安装时,如果需要指定VROUTER_GATEWAY,那么您需要小心一点。

如果没有指明,并且Internet访问的路由(0.0.0.0/0)是由管理NIC而不是数据平面NIC所覆盖,那么vrouter-agent容器将选择保存该节点默认路由的NIC,尽管那不会是正确的NIC。

在这种情况下,您需要显式指定VROUTER_GATEWAY参数。

由于这些行为的存在,当您要将报文从虚拟机或容器发送到NIC(除了vRouter使用的NIC之外的其它NIC)时,仍然需要谨慎一些,因为它同样不会检查Linux路由表,并且它始终使用与其它vRouter通信相同的NIC。

  • 据我所知,来自本地链接服务或无网关的报文也显示出类似的行为

在这种情况下,您可能需要使用简单网关(simple-gateway)或SR-IOV。

  • https://github.com/Juniper/contrail-controller/wiki/Simple-Gateway

调整集群大小

对于Tungsten Fabric集群的一般规格(sizing),您可以使用下面的表。

  • https://github.com/hartmutschroeder/contrailandrhosp10#21sizing-the-controller-nodes-and-vms

如果集群规模很大,则需要大量资源来保障控制平面的稳定。

请注意,从5.1版本开始,analytics数据库(以及analytics的某些组件)成为了可选项。因此,如果您只想使用Tungsten Fabric中的控制平面,我建议使用5.1版本。

  • https://github.com/Juniper/contrail-analytics/blob/master/specs/analytics_optional_components.md

尽管没有一个方便的答案,但集群的大小也是很重要的,因为它取决于很多因素。

  • 我曾经尝试用一个k8s集群(https://kubernetes.io/docs/setup/cluster-large/)部署了近5,000个节点。在它与一个具有64个vCPU和58GB内存的控制器节点配合使用时效果很不错,尽管当时我并没有创建太多的端口、策略和逻辑路由器等。

  • 这个Wiki也描述了一些有关海量规模集群的真实经验:
    https://wiki.tungsten.io/display/TUN/KubeCon+NA+in+Seattle+2018

由于可以随时从云中获取大量资源,因此最好的选择应该是按照实际需求的大小和流量来模拟集群,并查看其是否正常运行,以及瓶颈是什么。

Tungsten Fabric在应对海量规模方面拥有一些很好的功能,例如,基于集群之间的MP-BGP的多集群设置,以及基于3层虚拟网络的BUM丢弃功能,这大概就是其具备可扩展性和稳定性虚拟网络的关键。

  • https://bugs.launchpad.net/juniperopenstack/+bug/1471637

为了说明控件的横向扩展行为,我在AWS中创建了一个包含980个vRouter和15个控件的集群。

  • 所有控制节点均具有4个vCPU和16GB内存
    Tungsten Fabric安装的示例分析

当控制节点的数量为15时,XMPP的连接数最多只有113,因此CPU使用率不是很高(最高只有5.4%)。

Tungsten Fabric安装的示例分析

但是,当其中12个控制节点停止工作时,剩余的每个控制节点的XMPP连接数将高达708,因此CPU使用率变得很高(21.6%)。

因此,如果您需要部署大量的节点,那么可能需要仔细规划控制节点的数量。

Tungsten Fabric安装的示例分析

kubeadm

在撰写本文档时,ansible-deployer尚未支持K8s master HA。

  • https://bugs.launchpad.net/juniperopenstack/+bug/1761137

由于kubeadm已经支持K8s master HA,因此我将介绍集成基于kubeadm的k8s安装和基于YAML的Tungsten Fabric安装的方法。

  • https://kubernetes.io/docs/setup/independent/high-availability/

  • https://github.com/Juniper/contrail-ansible-deployer/wiki/Provision-Contrail-Kubernetes-Cluster-in-Non-nested-Mode

与其它CNI一样,也可以通过“kubectl apply”命令直接安装Tungsten Fabric。但要实现此目的,需要手动配置一些参数,例如控制器节点的IP地址。

对于此示例的设置,我使用了5个EC2实例(AMI也一样,ami-3185744e),每个实例具有2个vCPU、8 GB内存、20 GB磁盘空间。VPC的CIDR为172.31.0.0/16。

Tungsten Fabric安装的示例分析

我将附上一些原始和修改的yaml文件以供进一步参考。

  • https://github.com/tnaganawa/tungstenfabric-docs/blob/master/cni-tungsten-fabric.yaml.orig

  • https://github.com/tnaganawa/tungstenfabric-docs/blob/master/cni-tungsten-fabric.yaml

然后,您终于有了(多数情况下)已经启动了的具有Tungsten Fabric CNI的kubernetes HA环境。

注意:Coredns在此输出中未处于活动状态,我将在本节稍后的部分对此进行修复。

Tungsten Fabric安装的示例分析在创建cirros部署后,就像“启动并运行”部分所描述的一样,两个vRouter节点之间已经可以ping通了。

  • 输出是相同的,但现在在两个vRouter之间使用的是MPLS封装!

Tungsten Fabric安装的示例分析

注意:要使coredns处于活动状态,需要进行两项更改。

Tungsten Fabric安装的示例分析

终于,coredns也处于活动状态,集群已完全启动!

Tungsten Fabric安装的示例分析

以上是“Tungsten Fabric安装的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Tungsten Fabric安装的示例分析

本文链接: https://www.lsjlt.com/news/234946.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Tungsten Fabric安装的示例分析
    这篇文章主要介绍Tungsten Fabric安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Tungsten Fabric 组件的HA行为如果计划设置用于关键流量,则始终需要使用HA。Tungsten ...
    99+
    2023-06-03
  • Tungsten Fabric入门宝典丨关于安装的那些事(下)
    作者:Tatsuya Naganawa  译者:TF编译组Tungsten Fabric入门宝典系列文章,来自技术大牛倾囊相授的实践经验,由TF中文社区为您编译呈现,旨在帮助新手深入理解TF的运行、安装、集成、调试等全流程。如果您...
    99+
    2023-06-03
  • 安装Mysql8.0.17的示例分析
    这篇文章主要介绍了安装Mysql8.0.17的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.因为系统重装 又双叒叕开始了装myq...
    99+
    2022-10-18
  • MySQL8.0.19安装的示例分析
    这篇文章主要为大家展示了“MySQL8.0.19安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL8.0.19安装的示例分析”这篇文章吧。官...
    99+
    2022-10-18
  • php安装扩展的示例分析
    这篇文章主要介绍php安装扩展的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php安装扩展的步骤:1、解压文件“redis-3.1.1.tgz”;2、进入解压好的文件里面;3、phpize生成配置文件;4、...
    99+
    2023-06-15
  • mysql5.7.20免安装版的示例分析
    这篇文章主要为大家展示了“mysql5.7.20免安装版的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql5.7.20免安装版的示例分析”这篇文...
    99+
    2022-10-18
  • mysql5.6.8源码安装的示例分析
    小编给大家分享一下mysql5.6.8源码安装的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!内核:[root@opop...
    99+
    2022-10-18
  • MySQL下载安装的示例分析
    这篇文章给大家分享的是有关MySQL下载安装的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.下载MySQL数据库可以访问官方网站:https://www.mysql....
    99+
    2022-10-18
  • ogg单机安装的示例分析
    小编给大家分享一下ogg单机安装的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 一、系统检...
    99+
    2022-10-18
  • GI安装选项的示例分析
    这篇文章给大家分享的是有关GI安装选项的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 GI:Grid InfrastructureInsta...
    99+
    2022-10-18
  • mysql脚本安装的示例分析
    这篇文章主要为大家展示了“mysql脚本安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql脚本安装的示例分析”这篇文章吧。 ...
    99+
    2022-10-18
  • MySQL源码安装的示例分析
    这篇文章主要介绍MySQL源码安装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 操作系统:CentOS 6.7MySQL版本:5.6.30 ·  ...
    99+
    2022-10-18
  • php5.2.17安装教程的示例分析
    php5.2.17的安装方法:1、首选需要去官网下载php安装包;2、选择windows版本php5.2.17的安装路径,并进行安装;3、安装成功后需要给php和Apache进行环境配置;4、最后测试PHP安装是否成功即可。Windows环...
    99+
    2022-10-12
  • OpenSUSE光盘安装的示例分析
    这篇文章主要介绍了OpenSUSE光盘安装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本HOWTO指导您如何使用下载的openSUSEDVDiso镜像安装/升级o...
    99+
    2023-06-16
  • Linux安装性能的示例分析
    这篇文章主要为大家展示了“Linux安装性能的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux安装性能的示例分析”这篇文章吧。在硬件系统上安装Linux系统之前,需要考虑许多有助...
    99+
    2023-06-16
  • Python模块安装的示例分析
    这篇文章主要为大家展示了“Python模块安装的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python模块安装的示例分析”这篇文章吧。Python 模块安装一. 打开命令提示符win...
    99+
    2023-06-25
  • 多实例安装mysql 5.7的示例分析
    这篇文章主要介绍多实例安装mysql 5.7的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! datadir:mkdir -p /home/data/3306mkdir -...
    99+
    2022-10-18
  • 安装Centos 6.5时包组安装的示例分析
    这篇文章主要介绍了安装Centos 6.5时包组安装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在安装Centos 6.5时,无论是作为学习使用还是在生产场景中用...
    99+
    2023-06-10
  • MySQL 8.0.13下载安装的示例分析
    这篇文章主要介绍了MySQL 8.0.13下载安装的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先去 mysql 官网下载,地址...
    99+
    2022-10-18
  • OEL7.6源码安装MYSQL5.7的示例分析
    这篇文章主要介绍了OEL7.6源码安装MYSQL5.7的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先官网下载安装包https:...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作