点赞
评论
收藏
分享
举报
基于 macvlan 实现多租场景下的 nginx 集群部署实践(三)
发表于2022-10-20 17:01

浏览 1.2k

文章标签

继 基于 macvlan 实现多租场景下的 nginx 集群部署实践(二) - NGINX开源社区 续


五、启动NGINX服务


    Node1和node2节点各租户命名空间网络打通后,即可配置nginx.conf,在命名空间启动nginx服务。

    现在以node1节点Nginx1,Nginx2命名空间分别作为租户1和租户2的客户端,node2节点Nginx1,Nginx2命名空间分别作为租户1和租户2的服务端,模拟客户端请求测试。

步骤1:在node2节点创建静态文件

    在node2节点分别创建租户1和租户2的静态文件

# echo "tenant1 Nginx1 192.168.1.17" > /usr/share/nginx/html/Nginx1.txt

# echo "tenant2 Nginx2 172.16.2.29" > /usr/share/nginx/html/Nginx2.txt


步骤2:在node2节点配置租户1和租户2的nginx配置文件

    在node2节点修改租户1的配置文件/etc/nginx/nginx1.conf,配置其监听端口为8060,默认静态页面为Nginx1.txt:


    在node2节点修改租户2的配置文件/etc/nginx/nginx2.conf,配置其监听端口为8060,默认静态页面为Nginx2.txt:


步骤3:在node2节点命名空间分别启动nginx服务

    在node2节点Nginx1命名空间启动nginx服务:

# ip netns exec Nginx1 nginx -c /etc/nginx/nginx1.conf


    在node2节点Nginx2命名空间启动nginx服务:

# ip netns exec Nginx2 nginx -c /etc/nginx/nginx2.conf


步骤4:在node1节点命名空间访问nginx服务

    在node1节点租户1的命名空间Nginx1,访问node2节点Nginx1命名空间的服务:

# ip netns exec Nginx1 curl http://192.168.1.17:8060


    请求成功:


六、结语

    本文介绍了一种基于Macvlan实现多租场景下Nginx集群部署方式,解决了在同一台服务器上实现租户隔离与Nginx端口占用的问题。作为示例,本文以不同租户使用不同的VLAN网段做了介绍。如果想要使用相同的VLAN网段,可以使用VTEP设备将各个node节点互连,借助于VXLAN实现进一步的租户隔离。



已修改于2023-03-09 02:02
本作品系原创
创作不易,留下一份鼓励
加菲

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(0)

按点赞数排序

按时间排序

关于作者
加菲
这家伙很懒还未留下介绍~
3
文章
0
问答
2
粉丝
相关文章
目录问题背景解决思路网络拓扑搭建Macvlan命名空间测试命名空间网络连通性启动nginx服务结语1、问题背景  一种多租户多Nginx集群部署的上云解决方案示意图如图1所示:图1一种多租户多Nginx集群部署示意图  该方案主要包含三部分,分别为APIServer,配置中心及集群部署节点,各部分实现的功能为:APIServer:Nginx集群服务的总入口,负责接收各类管控信息,并将请求信息解析后转发至配置中心;配置中心:负责不同租户Nginx实例的安装部署与配置管理;集群部署节点:不同租户在不同节点上部署Nginx实例,实现实例级别的高可用;  如图1所示,要实现高可用的部署方式,就要求在每一个服务器node节点上部署的Nginx实例分属于不同的租户;要实现每个node节点的Nginx实例分属于不同的租户,就要求在node节点实现租户隔离。这里的租户隔离至少需要包含两个属性,一个是网络资源的隔离,一个是Nginx实例端口占用的隔离。2、解决思路为了在同一台node节点实现租户隔离,目前常见的有以下几
点赞 1
浏览 1.1k
继 基于macvlan实现多租场景下的nginx集群部署实践(一)-NGINX开源社区 续步骤1:开启混杂模式2  在node1节点创建管理网子网卡ens33.0,并配置管理网地址
点赞 1
浏览 1.2k
用户任务2: 累计完成3个活动任务,并在文章评论区留下您的完成记录; l LV4用户等级权益: 社区官网个人主页展示精美V4等级勋章1个; 有机会在社区官网首页“社区达人”模块展示您的个人主页;
点赞 0
浏览 539