【编者的话】随着容器技术盛行,ORACLE也开始在云服务中应用容器技术,在准备应用的同时,ORACLE也开发了相关工具便于构建和维护容器。现在可以高兴的宣布,ORACLE开发的这几款工具已经开源,希望能够帮到大家。请在ORACLE github 页面上找到Smith, Crashcart, 和Railcar工具的相关资料。
Smith:安全微容器构建者
传统的容器构建过程需要一系列的复杂操作步骤。Smith就是一个解决构建一致性和安全性的问题的微容器构建工具。可方便的通过rpm、yum库,甚至已有容器来构建微容器。更多构建微容器的信息可参考资料: the Microcontainer Manifesto。
Crashcart:微容器调试工具
若生产环境应用容器的精简配置,导致的诊断工具缺失,对运维来说是一个巨大挑战。虽然大部分诊断可在主节点上完成,但有时也需要在容器节点可访问的文件系统上进行诊断。crashcart便是应用在这个场景下,它为正在运行的容器加载一组数据用来定位故障原因。了解crashcart是如何定位单边加载数据故障的原理可参考资料: Hardcore Container Debugging 。
Railcar:可选的容器runtime
Go语言对于容器runtime不一定是最佳选择。(注:runtime是通过命名空间和cgroups完成隔离的组件。Go语言对于容器镜像和CLIS仍然是一个非常明智的选择。)为便于理解,可阅读博客: Linux Namespaces And Go Don't Mix 。 Runc(runc是oci runtime的默认组件)的部分代码是由c语言编写,在go运行时态启动之前调用的。Go虽然是一个伟大的语言,但对于仅需轻量线程控制及大量系统调用的小型组件而言,还有更好的选择。Rust 语言则可以提供类似C语言的轻量控制,但是内存安全且避免了类的BUG和漏洞。更多Railcar的开发信息可参考资料: Building a Container Runtime in Rust 。
【原文链接】 Three New Open Source Container Utilities
来源: http://www.tuicool.com/articles/VVJjemu