群晖docker switch-lan-play配置?

群晖docker switch-lan-play配置?,第1张

简单来说就是使用macvlan网络模式的docker容器,可以看作是局域网内的一个独立设备,它会
有一个独立的内网IP。每个macvlan下的docker容器,都有自己-完整的端口可用,不会互相
冲突。
因为我的旁路由是做的非侵入式网关。所以对于我来说, macvlan最大的优点就是可以和宿主机
配置为不同网关,方便网络分流。
我的最终目的是利用macvlan网络,让qB和TR直接走主路由网关,不经过XX。
当然如果是其他网络拓扑模式的同学,也可以通过macvlan来给每个容器分配好IP ,方便通过IP分
流管理。

IBM有提供过一个几个基于原始空口物理层协议的资产定位原型,使用了Node Red等,没有使用LoRaWAN。所以,封闭系统未见得要使用LoRaWAN,除非目标是标准化的公开系统。

国内的许多应用,如智慧城市、船务管理等,一旦需要多家供应商参与,则尽量参考LoRaWAN进行部署。

浏览了一下Github中的开源LoRaWAN网关与服务器,因为这两者与设备,存在配套的必要性。当然,通过配置可以整合这三者。但是设备与网关之间配置难度要大于网关与服务器之间配置难度。

大体上,LoRaWAN终端都来自IBM LMiC参考设计,无论是mbed/Arduino都是衍生版本。只是需要根据不同地区和频率进行设计。主要频段包括:

还有其他的一些频段,但是大体上就是这些频段了。

一般公众IoT LPWAN网关已经标准化了。所以采用LMIC参考设计的设备既可以接入,担心是附近没有LoRaWAN基站。所以有个鸡和蛋的关系。

LoRaWAN网关和服务器之间,有若干种连接方式:

采用TLS over TCP,使用MQTT,比较适合网关与服务器之间的通讯。这样,满足了安全性,连接性要求。

在LoRa联盟中,The Things Network (TTN) 是一个经常被提及的网络服务,该公司为诸多LoRaWAN网关提供网络接入托管服务,同时为用户应用提供REST接口。

一般来说,云端算是比较重要的,且耗费开发时间的。但是现在也有开源的设计: >1 Linux 服务器安装宝塔面板

2使用ssh root@ip 的方式远程连接

3安装Docker ,参考: >1、在安装Docker的时候,会在宿主机安装一个虚拟网关 docker0,查询docker0的IP地址

2、配置docker上安装的nginx

3、自行测试即可

我的N1盒子刷了F大的Armbian系统,u盘启动,刷机过程不在冗述,百度一搜就有很多,使用镜像的名称是Armbian_2010_Aml-s9xxx_buster_51026-flippy-56+,刷完以后,需要把u盘插到电脑上,进入BOOT盘,把根目录里的u-boot-n1bin,复制一份,改名u-bootext即可正常启动。
下面开始通过Docker部署OpenWrt,安装Docker也不说了,网上一搜也到处都是。

访问1921682510即可进入路由器设置

经过以上设置后,N1并不能连接docker openwrt,ping不通,需要进行如下 *** 作:

参考文献: 在Docker 中运行 OpenWrt 旁路网关 | 美丽应用 (mlappcn)
Docker安装OpenWRT做旁路由,魔法上网 - 科技玩家 (kejiwanjiacom)

首先还是登录到爱快的管理页面,按图示依次点击“高级应用——插件管理——docker”来到创建docker容器的界面。点击“镜像管理”再点击右上角的“添加”按钮来到新界面。在新界面里勾选“镜像库下载”选项,在搜索框内输入“qBittorrent”搜索镜像,如图示,选择星级最多的那一个的latest版本下载。
无线路由器-网关-dtu
无线路由器-网关-dtu
无线路由器-网关-dtu
下载好镜像后准备创建容器,在创建容器前先在爱快的磁盘管理里根据自己的情况新建两个文件夹:config和downloads;分别用来存放qbittorrent的配置文件和下载的文件,我将config放在docker目录,downloads创建在外置移动硬盘里,这样qbittorrent下载的东西就会存放在移动硬盘里了。当然也可以将downloads映射到之前emby存放媒体的地方,这样就不需要再在emby里面新建媒体库,不过还是建议新建一个方便管理。
无线路由器-网关-dtu
无线路由器-网关-dtu
创建好文件夹后回到docker管理界面新建容器,按照图示在“容器列表”选项卡的右上角的“添加”按钮,来到新界面,首先是基础设置的填写,按照图示,“容器名称”随意;“内存占用”按照自己的需求填写;“镜像文件”选择刚才下载的qbittorrent镜像;“网络接口:选择之前创建的,没有创建的可以看一下我往期教程;”ipv4地址”最好根据自己设置的网段固定一个地址;填写好这些内容后,按照图示,点开“高级设置”,在“挂载目录”那一栏添加文件夹目录,“源路径”填写刚才新建的两个文件夹的路径,“目标路径”对应着填写/config和/downloads,确认无误后点击“保存”完成设置。
无线路由器-网关-dtu
无线路由器-网关-dtu
无线路由器-网关-dtu
回到容器列表界面,点击qbittorrent容器旁的“启动”按钮,状态那一栏显示“已启用”就表示已经启动成功了。在浏览器输入刚才设置的ip后面加上端口号8080就可以访问qbittorrent管理界面,比如我设置的ip是192168113,就在浏览器输入192168113:8080 默认用户名是admin,密码是adminadmin,进入后台后第一时间更改用户名和密码,将语言设置为中文。按照图示,点击设置按钮,切换到“web ui”选项卡,在language选项选择“简体中文”;在Authentication选项可以看到设置用户名和密码的选项,在username填入用户名,password填入密码。确认无误后下拉到最下面点击“save”保存设置。
无线路由器-网关-dtu
无线路由器-网关-dtu
一般都是用qbittorrent来下载pt站的资源,如果要下载普通BT资源的话需要手动添加tracker服务器,不然大概率下资源会没速度,方法是点开设置,在bittorrent选项卡,下拉到最下面有一个“自动添加以下tracker 到新的torrent”选项,勾选上,然后将在网上找到的tracker服务器地址粘贴到下面的文本框内,保存即可。
无线路由器-网关-dtu
还有一些优化条目可以设置下,打开设置,切换到“web ui”选项卡,如图示找到“启用Host header属性验证”选项卡,取消勾选,防止通过公网无法访问管理页面;再切换到“高级”选项卡,如图示找到“文件池大小”选项,将数值由5000改为10,减小内存占用,再找到“启用 *** 作系统缓存”选项,取消勾选,传说可以防止内存溢出而打开缓慢;再向下滑动,找到“验证>

Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg),它主要用于 容器编排 启动容器、自动化部署、扩展和管理容器应用和回收容器。k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署、规划、更新、维护的一种机制。

用kubernetes去管理Docker集群,既可以将Docker看成Kubernetes内部使用的低级别组件;另外,kubernetes不仅仅支持Docker还支持Rocket,这是另一种容器技术。

扩展资料:

从背景上说,Kubernetes是由Google与RedHat公司共同主导的开源“容器编排”项目,它起源于Google公司的Borg系统。

所以它在超大规模集群管理方面的经验要明显优于其他容器编排技术,加上Kubernetes在社区管理方面的民主化,使得它很快打败了Docker公司推出的容器编排解决方案(Compose+Swarm),从而成为了容器编排领域事实上的标准。

而在功能上Kubernetes是一种综合的基于容器构建分布式系统的基础架构环境,它不仅能够实现基本的拉取用户镜像、运行容器,还可以提供路由网关、水平扩展、监控、备份、灾难恢复等一系列运维能力。

最近开发了一基于springcloud的微服务架构的门户项目,因为客户对系统性能有要求,所以楼主对系统的一些api接口进行了大量压力测试。在压测过程中,发现接口的性能瓶颈之一是服务网关和数据库部署在虚机上,所以本文将分享内容分为两部分

性能压测思路是从软硬件负载 f5,nginx,到容器化平台k8s、docker、zuul网关,再到数据存储es、mysql、mongodb、redis,进行全面测试。

性能压测汇总

部分接口压测结果

其中值得关注的是,用一台zuul网关节点和一个业务节点压测空接口,发现一个有意思现象:

空接口压测不走zuul,一个业务节点tps能达到 32000, 走zuul网关,一个业务节点空接口tps只有11000,性能损耗64%。

当时就感觉zuul网关在我心中高大的形象碎了一地,但是没办法,性能不达标必须要优化。所以楼主查了很多资料,也问过一些docker和k8s的容器化平台大牛,总结出两点经验:

所以楼主向公司申请物理机,继续性能压测,当然这不是重点,重点是接下来要讲的:为什么服务网关和数据库不能部署到虚拟机上

虚拟机的特点

io开销

我们知道,不管虚机上部署了多少个应用,一旦涉及到数据的存储,如果采用虚机部署数据库,会带来不必要的网络io开销。因为虚拟机在调度大量物理的cpu和内存、特别是磁盘IO时,必须经过虚拟机和物理机两层网络io读写开销 *** 作,是非常耗系统性能的。

一般情况下,使用虚拟机部署应用,其性能衰减约20%左右,这不是优化代码能解决的。

共享物理机资源

因为虚拟机在cpu资源、网络等方面共享物理机资源,虚拟机之间会存在竞争物理机资源,造成程序不稳定情况。

docker容器部署

更要命的是,如果数据库和zuul网关部署到容器(实质也是虚拟机)里,那么网络io读写变成docker(虚拟机)到虚机,再到物理机三层访问,无形之中又增加了io读写性能开销。尤其是对于请求吞吐量要求很高的服务网关zuul,是不能容忍的。

所以虚机对于IO密集型以及对延迟要求很高的业务场景不合适。

另外,早期的时候,作为一名架构师需要尽早的规划好服务网关和数据库的物理部署方式以及软硬件性能要求。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13507856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-21
下一篇 2023-08-21

发表评论

登录后才能评论

评论列表(0条)

保存