云社区 博客 博客详情
云社区 博客 博客详情

【盖楼有奖】跳转机容器化方案,预示着容器化时代的到来。

长期飘在公有云上 发表于 2020-11-20 15:35:54 11-20 15:35
长期飘在公有云上 发表于 2020-11-20 15:35:54 2020/11/20
7
1

【摘要】 想必大家在利用跳转机进行解决方案开发和测试过程中都会遇到这些问题: 1、 hi,兄弟,帮我分配个跳转机 2、 谁呀,XX跳转机我在使用,不要抢占 3、 跳转机全分配完了,没有可用的了,而实际上有很多跳转机分而不用 4、 我想用跳转机来模拟用户,可没有足够的跳转机资源进行容量测试 5、 我们跳转机是WINDOWS系统,而实际交付版本配套工具是需要安装在LINUX上的,无资源进行镜像测试


                                                                    跳转机容器化方案介绍

        想必大家在利用跳转机进行解决方案开发和测试过程中都会遇到这些问题:

1、 hi,兄弟,帮我分配个跳转机

2、 谁呀,XX跳转机我在使用,不要抢占

3、 跳转机全分配完了,没有可用的了,而实际上有很多跳转机分而不用

4、 我想用跳转机来模拟用户,可没有足够的跳转机资源进行容量测试

5、 我们跳转机是WINDOWS系统,而实际交付版本配套工具是需要安装在LINUX上的,无资源进行镜像测试

……

                                               

      遇到以上问题怎么办?通过学习和实践利用容器化跳转机方案将如上问题彻底解决,现就该方案跟大家做个分享,欢迎大拿们一起交流。

一、 什么是容器

     容器是应用层的抽象,多个容器可以在同一台宿主机上运行,并共享操作系统资源,每个容器在用户界面是独立运行的,互相不干扰。

二、 解决方案思路介绍

     面对上面的问题我想出如下三套解决思路,通过验证得出思路2最可行。相比方案1来说资源独立;相比思路3,操作简单。所以,具体实施时按照思路2展开。

    思路2中,关键难点在于自定义进行制作和容器自动化管理部分,下面就这两部分做一个介绍,其他部分如果感兴趣可以回帖方式交流

三、 自定义桌面版镜像制作

    相信大家跟我一样,已经习惯了windows桌面版操作系统办公,所以我们这次目标是制作一个带有常用办公软件的桌面版镜像,为下面拉起批量容器做好准备。自定义桌面版镜像制作步骤:

1、 服务器基础操作系统和网络已经完成配置,这部分不再赘述。

2、 DOCKER系统安装,并设置开机自启动。

Ø  在宿主机上执行yum install docker 安装docker

Ø  在宿主机上执行systemctl enable docker.service 设置自动开启启动

3、 DockerHub上拉取支持RDP协议的桌面版基础镜像

Docker pull soff/ubuntu-xfce-vnc(该镜像支持VNC+RDP+XFCE),由于我负责的项目需要通过RDP协议登录到容器上,所以拉取上面的镜像。

备注:

根据大家需要,可以拉取不同的基础镜像如:

Docker pull dorowu/Ubuntu-desktop-lxde-vnc(该镜像支持VNC+XFCE)

4、 远程登录上容器上进行办公软件安装

5、 镜像调试

5.1先拉取容器界面管理镜像,并运用容器,可实现容器和镜像文件可视化管理。

Ø  Docker pull portainer/portainer 拉起镜像

Ø  docker run -d --name docker-admin -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer  运行镜像

Ø  http:IP+port  页面访问可视化管理工具

5.2 手工拉取基础镜像

参数说明:

Ø  --name:容器名称

Ø  -p 5903:vnc协议端口,可以通过VNC工具访问

Ø  -p 6903:novnc协议端口,可以采用HTTP://ip+6903直接访问

Ø  -p 7903:RDP协议访问端口,可以通过支持RDP协议的远程工具访问

Ø  --shm-size=256m容器内存设置

Ø  -v /etc/localtime:/etc/localtime:ro 容器时间跟宿主机同步

Ø  --restart=”on failure” 容器异常自动重启

其他参数可以执行docker run –help进行查看。

5.3远程登录,并业务验证

执行mstsc /v:IP:port远程登录容器,然后根据每个人的需要进行相关业务验证,不再叙述。

6、 确认镜像可用,通过commit命令制作可以复制的镜像

    Docker commit –a “author” test3 myimages-xfce:v1,将上面创建的容器test3作为可以复制的镜像,并重新命名为为myimages-xfce:v1,后面就可以使用该镜像进行拉起和运行。

commit语法说明:

四、 容器自动拉起和关闭流程

    通过前面的介绍,相信大家已经完成了自己想要的镜像文件,如何利用镜像文件完成容器自动拉起和自动关闭呢?下面图为例,做一个简单介绍。

Ø  应用程序负责调用宿主机利用自定义镜像创建或删除容器脚本

Ø  生成的Docker可在业务中使用

Ø  用户使用VNC或RDP协议登录Docker

五、 参考学习材料汇总

https://blog.csdn.net/zhuquan945/article/details/82110245

http://www.mamicode.com/info-detail-2326734.html

https://blog.csdn.net/Rafe_ma/article/details/77838613

https://blog.csdn.net/sudaroot/article/details/89623506

https://www.jianshu.com/p/9ce0d9dac37e

https://blog.csdn.net/Blackrosetian/article/details/83036491

https://www.cnblogs.com/jameszh/p/4455405.html

https://www.cnblogs.com/jameszh/p/4455405.html

     

六、话题互动有奖活动规则说明

为了促进技术交流,欢迎大家积极参与话题互动有奖活动。

话题1:关键词

在本主题帖回帖盖楼,帖子内容:“华为数通开发社区”即可。

回帖示例:华为数通开发者社区

话题2:加入社区

微信扫描下方二维码或直接访问数通开发者社区网站,通过华为云注册后访问到社区首页,截图+华为云账号回帖即可。


华为数通开发者社区二维码

                                                            https://devzone.huawei.com/cn/network/portal.html

回帖示例:华为云账号XXXX+社区首页截图


话题3:观点分享

完成社区注册(要求见话题2),并在本主题帖回帖,帖子内容为容器相关的操作实践总结(1000个字以内),相关成功经验可以复制,子帖回帖数超过10个。

回帖示例:

1、 华为云账号XXX+社区首页截图(见话题2要求)

2、 回复相关容器相关操作总结(1000字以内)+该子帖回帖超过10个截图。


【活动奖品&规则】


参与话题 奖项分类 奖品 数量 发放规则
话题1 三等奖 三合一数据线       10 参与话题1的用户,随机发放10个纪念品
话题2 二等奖 保温杯       5 注册成功且按格式回帖,随机抽取5名幸运用户
话题3 一等奖 电脑包       1 完成注册(见话题2),回复相关容器相关操作总结+该子帖回帖超过10个截图,符合条件的用户随机抽取1名

【奖品展示】


                                                                                                   

        三合一数据线                                                           保温杯                                                               华为品牌电脑包

七、注意事项

1、 以上3个话题均可参加,且盖楼评价相互独立。

2、 每种话题发帖数不超过5条,参与度越高获奖机会越大。但若单个话题回帖超过5个,视为取消活动资格。

3、 为了让更多的用户参与评奖,若活动中出现参与了2种及以上话题且均获奖的用户,原则上只发放活动中价值最高的奖品。

4、 该活动将在博客和论坛上同时进行,同一类奖品不可重复领取。

5、 中奖后中奖名单将进行公示,博主或版主会跟你回帖交流,请及时反馈收件地址,奖品会在活动结束后7个工作日统一邮寄发出。

6、 活动时间:2020.11.20-2020.12.20

7、 本次活动解释权归华为数通开发者社区所有。

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请发送邮件至:huaweicloud.bbs@huawei.com;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 1
点赞
分享文章到微博
分享文章到朋友圈

评论 (7)


我是天上一朵云

1楼2020-11-20 16:18:06
这样就太好了,极大的节省了我们测试需要的资源
PS:Docker拉起的在做网络转发的时候  有的系统内核有GRO功能,会将虚拟机的报文聚合起来,如果虚拟机的网卡校验报文的Checksum,会导致报文被丢弃。目前有遇到过这种情况吗?比如UDP的某些报文不通。

长期飘在公有云上1楼2020-11-20 17:54:39

你好,你这个问题问得非常好!Generic Segmentation Offload 和 Generic Receive Offload,分别比 LSO 和 LRO 更通用(更偏向用于TCP),自动检测网卡支持特性,支持分包则直接发给网卡,否则先分包后发给网卡。新的驱动一般用 GSO/GRO。我理解这个跟镜像强相关,目前我用从开源网站上下载的镜像(soff/ubuntu-xfce-vnc)做的DOCKER还没有遇到该问题,后续会继续关注。
0/1000

harryC

2楼2020-11-20 16:24:33
手工拉取的虚拟镜像是Linux版本的吗?如果需要Windows的跳转机环境能否同样支持?

长期飘在公有云上1楼2020-11-20 16:40:15

我的方案中手工拉起的基础镜像时LINUX版本,容器理论上是支持安装WINDOWS系统的,下次我可以试试。
0/1000

技术火炬手

3楼2020-11-20 17:57:58

长期飘在公有云上

4楼2020-11-23 09:11:22
鼓励大家积极参与讨论哈,小楼盖起来。

数通开发者合作测试

5楼2020-11-24 19:19:51
跳转机的容器化能解决虚机的快速创建和回收问题,很值得学习
0/1000
评论

登录后可评论,请 登录注册

评论

您没有权限执行当前操作

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消