容器化时代到来!跳转机分配问题终于“有救”了
摘要: 想必大家在利用跳转机进行解决方案开发和测试过程中,都会遇到各种各样关于跳转机的资源分配问题,通过学习和实践利用容器化跳转机方案,我们便可将这些问题彻底解决,现就该方案跟大家做个分享,欢迎大拿们一起交流。
跳转机容器化方案介绍
想必大家在利用跳转机进行解决方案开发和测试过程中都会遇到这些问题:
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
有了容器镜像服务的解决方案,跳转机资源分配问题将得到很好的解决,希望对大家今后的工作有所助益。
为了促进技术交流,欢迎大家积极参与回帖盖楼有奖活动。
六、加入“华为数通开发者社区”
欢迎加入数通开发者社区,加入后在论坛模块可与同行大咖进行技术交流,并有机会赢得其他活动大奖,赶快扫码加入吧(https://devzone.huawei.com/cn/network/portal.html)!!
本文分享自华为云社区《【盖楼有奖】跳转机容器化方案,预示着容器化时代的到来。》,原文作者:长期飘在公有云上 。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/53ce559b6d800c7c8f8dcce1f】。文章转载请联系作者。
评论