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