容器化应用

序言

七月,炎热的季节,又到了吃葡萄的季节了。。。

转眼一瞬间,一年已经过去了七个月,懵懂中,这一年又要像风一样吹过去了。。。

报错

不知道是电脑折腾我,还是我折腾电脑,动不动就蓝屏,不就创建了一个虚拟机集群么,太不抗折腾了,感觉磁盘的寿命快到了。。。以为是虚拟化的问题,从vmware换到virtualbox,依旧未解决。。蓝蓝的天空了解一下。。。

在进行使用容器的时候,使用yum进行安装,然后rpm卸载,造成了rpmdb和yumdb不同步,使用的解决方案是yum history sync,主要就是用来同步数据库,也可以无视,反正也不影响使用,只是一个waring而已。

在使用yum的时候,越来越觉得yum whatprovides xxx好用了,假如你使用的一个命令,而恰恰忘记了这个包是什么,那么可以使用这个命令来查找到这个包,从而进行安装。

在使用容器的时候,居然命令的反映时间需要几秒钟,是可忍孰不可忍。。。

一个docker ps的命令居然需要接近4秒钟,而查看一个docker info居然需要七秒钟。。。简直是一种痛苦的体验。。。查看日志,未见明显异常,查看cpu的使用情况,发现si比较高,软中断。。。这不可能,都不可能有那么多的中断请求。。。好吧,你牛逼。。。进行cpu的亲和性绑定,分配2颗cpu,一颗给系统玩,一颗给docker用。。。

在使用docker的时候,在使用docker image的时候,查看的是本地的镜像,而只有docker search查看的docker hub的镜像,而当你搭建了自己的registry的时候,search并不会主动到本地的仓库进行查找,但是依旧可以pull。

在使用docker的时候,有几个容器混淆的命令,import,export,load,save,load和import都是可以从tar文件中进行创建镜像,区别就是import可以重新指定镜像的名称和tag,而在使用export的时候,主要是将容器变成一个tar归档文档,save则是将镜像直接保存为一个tar归档文件,而commit则是将容器提交为镜像,略微有区别。。。

为什么要容器化应用

在进行容器化的时候,听起来好像很高端,但是如何说服别人进行容器化,容器化应用是否能带来价值,那么就需要根据当前环境来进行考虑。。。

1、 硬件平台是否支持容器化

到处都在吹捧一次build,到处运行,一次ship,到处浪。。。事实上是否真是这样。。。

普通的硬件都是使用x86,而一些所谓的小机,大型机,使用的是aix,并不能支持docker的运行,那么在进行容器化的时候,这部分机器如何处理?

2、 各种语言是否支持容器化

在目前存在的系统中,有各种各样的语言写的系统,有c,c++等各种老系统而且是核心系统,而新生系统则是java,那么是否c和c++等语言能进行支持。

在进行容器化的时候,使用c和c++无非就是为了追求极致的速度,如果使用容器来进行虚拟化,是否是降低了效率,是否不应该移植?

3、 操作系统是否支持容器化

在目前的系统中,大部分是linux,小部分是aix,而还有一部分是windows,那么容器化的应用是否能很好的支持windows。。。

docker-ce社区版本,并不支持,采用ee?也就支持那么几个版本。。。

4、 基础镜像是否支持容器化

在目前的系统中,假设都是java语言,而要提供基础镜像,需要提供哪些基础镜像,是否经过了调研。。。

有的是用oracle的jdk,有的是用openjdk,而有的用的是jrockitjdk,有的用的是1.6版,有的是1.8,有的是1.9,需要多少基础镜像。。。

5、 流程是否支持容器化

在目前的开发流程中,有开发,有测试,有部署,有运维,一整套的流程。。。

而使用docker的时候,编译成war包,打成image,发布运行,镜像仓库的构建,镜像仓库的隔离,多个版本并行运行并行测试,流程上如何给与配合。。。

监控,日志,故障处理,追踪链的形成,是否有成熟的体系。。。

容器化应用,说起来简单,做起来难。。。从前到后,从上到下,好像都是问题,不过还是很有意思的。。。

本文分享自微信公众号 - SRE运维实践(gh_319dd73ec076)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 写给对 ”游戏开发” 感兴趣的朋友们

    原文链接:https://mp.weixin.qq.com/s/wSp-UKiIlufnIC3KPY-WTQ

    JAVAandPython君
  • C/C++的人转Go都说很爽,Java转Go的人,觉得有时候写的很别扭,为啥?

    先说说go语言的来源,算是编程语言里面的富二代了,创始团队本身就是精通多种编程语言的大神,而且背靠着谷歌公司这座大庙,go语言的相比主流的几种编程语言都有明显的...

    程序员互动联盟
  • 杂谈 | 讲讲用Linux系统作为主力的感受

    相信大部分小伙伴的主力系统都是Windows,不过Windows虽然大法好,有时候也不得不面临各种各样困扰。

    短短的路走走停停
  • 倒计时:《Linux的任督二脉》之《内存管理》在线课程

    理解硬件访问内存的原理,MMU和页表;澄清Linux内核ZONE,buddy,slab管理;澄清用户空间malloc与内核关系,Lazy分配机制;澄清进程的内存...

    Linux阅码场
  • 月薪25k大牛教你,如何快速入手C++

    我们的事业就是学习再学习,努力积累更多的知识,因为有了知识,社会就会有长足的进步,人类的未来幸福就在于此。

    诸葛青云
  • 还在使用 SimpleDateFormat?你的项目崩没?

    日常开发中,我们经常需要使用时间相关类,说到时间相关类,想必大家对SimpleDateFormat并不陌生。主要是用它进行时间的格式化输出和解析,挺方便快捷的,...

    芋道源码
  • 一门编程语言如何理解?

    记得刚开始学编程那会儿,没有任何计算机基础,编程语法大多靠背——C++语法,操作系统各项定义,计算机网络各种协议......

    主机优惠
  • 生成一个C++对象的成本

    最近两年C用得多了,C++有些生疏,又常常用Python,或者阅读些Java的代码,感觉C的开发者们由于C语言在软件工程上的先天缺陷,导致开发效率不高,所以决定...

    陶辉
  • 边缘计算笔记(三):从Tensorflow生成TensorRT引擎的方法(完结篇)

    例如我们想将训练好的Inception V1现成模型,从TensorFlow转换为TensorRT, 我们可以从(TensorBoard)显示的结构图的最发现找...

    GPUS Lady
  • linux下Clang和gcc的区别

    出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 。

    Linux阅码场

扫码关注云+社区

领取腾讯云代金券