2017年8月和9月的容器相关社群动态

我随便写了一些我在意的新闻。

    • 2017年6月・7月号 https://qiita.com/AkihiroSuda/items/dc60347f1ad79a747fa2

2017年4月・5月号 http://qiita.com/AkihiroSuda/items/e4785014c6c50496f11b

2017年3月号 http://qiita.com/AkihiroSuda/items/746328a8ee59301807b6

Docker 1.13号 http://qiita.com/AkihiroSuda/items/d762b8cdc1d704f8efdf

Docker 1.12号 http://qiita.com/AkihiroSuda/items/ba3e118389e0a550c000


Mesosphere公司和Rancher公司都发布了注重于Kubernetes的产品。

Docker公司尚未发布与Kubernetes相关的产品,但似乎积极推进与Kubernetes相关的开源项目。

Docker和Moby相關

Docker 17.09:

由于17.07版本的发布延迟到了8月30日,因此没有17.08版本。

在9月27日发布的17.09版本中,并没有进行太大的改动。

然而,即使aufs.ko已被加载,现在也优先使用Overlay2而不是AUFS。

如果发生了崩溃或者我主动进行了更改的话,就请在/etc/docker/daemon.json文件中写入{“storage-driver”: “aufs”}。

顺便提一句,CONFIG_OVERLAY_FS_REDIRECT_DIR=y 的内核无法正确运行Overlay2,但预计在17.10版本中修复。可参考此链接:https://github.com/moby/moby/pull/34342

LinuxKit支持Kubernetes

※LinuxKit:由Docker等公司领导开发的面向容器主机的专用操作系统。

https://www.slideshare.net/Docker/linuxkit-the-first-five-months-by-justin-cormack-riyaz-faizullabhoy-docker(第5页)

Kubernetes相关的代码之前就已经包含在linuxkit/linuxkit代码库中,但现在将被提升到更正式的位置。(可能会从linuxkit/linuxkit代码库中分离出来,具体请参见https://github.com/linuxkit/linuxkit/issues/2463。)

CRI-containerd也具备兼容性。

Docker社可能会在未来如何与Kubernetes合作的计划将可能在DockerCon EU(10月在哥本哈根举行)上宣布。

新添加的命令:docker trust(集成了Notary)

只需执行docker trust sign foo/bar:baz命令,就可以轻松地对镜像进行签名和推送。

预计从Docker 17.10版本开始可用。

多平台图片

以前,例如golang的AMD64版本映像(golang),S390X版本映像(s390x/golang),Windows版本映像(golang:nanoserver)都是分开的,但将来将统一为一个单独的golang映像。
当然,根据平台不同,将执行不同的二进制文件。

摩比技术指导委员会的成立准备。

※Moby:作为Docker的上游的由社区驱动的项目。可以大致认为,Docker:Moby项目≒RHEL:Fedora。

预计在10月中旬,Moby技术指导委员会将作为一个组织来支持Moby、containerd、LinuxKit等相关项目之间的联系。

自古以来,Docker公司的首席技术官Solomon Hykes一直担任BDFL(仁慈独裁者终身)职位,但现在该职位已被废止。

在BuildKit中支持Dockerfile。

※ BuildKit: 使用中间语言(LLB)的DAG,实现快速的下一代docker构建

除了LLB (中間语言)外,现在还可以构建Dockerfile。
Dockerfile会被编译成LLB的有向无环图(DAG),并可进行并行执行。

由于Dockerfile将前端特定部分作为容器映像进行分离,因此除了Dockerfile之外,其他高级语言的实现也变得容易。

未来计划支持使用Kubernetes等进行分布式构建。我们计划不仅仅是简单地在随机主机上进行负载均衡,还要考虑哪个主机持有哪个图顶点的缓存等信息,以便进行调度。

关于Kubernetes的相关内容

Kubernetes 1.8 版本

似乎RBAC(基于角色的访问控制)的正式支持以及TLS的轮换等安全改进非常重要。

重要的容器服务(PKS)

可以轻松地在本地或其他非GCP云上构建GKE兼容的集群。

牧場主相关

牧场主2.0 alpha

http://rancher.com/announcing-rancher-2-0/ 网址是有关Rancher 2.0版本的公告。
https://rancher.com/docs/rancher/v2.0/en/faq/ 是有关Rancher 2.0版本的常见问题解答页面。

在Rancher 1.X中,Cattle、Kubernetes、Docker Swarm和Mesos似乎被相对平等地对待,但在Rancher 2.0中,Kubernetes变得更加核心。 在Rancher 2.0中,Cattle作为Kubernetes的前端运行。

正在删除系统-docker

系统服务将使用containerd来运行。

Mesos・Mesosphere相关

DC/OS支持Kubernetes。

OpenFaaS(原名alexellis/faas)

alexellis/faas -> openfaas/faas

OpenFaas是alexellis/faas的另一个名字。

https://github.com/openfaas/faas/pull/220 的页面可以找到相关内容。
同时,你还可以在 https://www.openfaas.com/ 网站上找到更多相关信息。

我觉得最近很流行。

运行时相关

容器云盘

现在可以使用containerd作为运行时来运行Kubernetes,而不是Docker。

目前为止,containerd处于beta版本,CRI-containerd(containerd和Kubernetes之间的中间模块)处于alpha版本。

CRI-O
CRI-O

CRI-O作为与containerd相似的替代运行环境已经达到了RC版本。

2018年可能会成为容器技术领域containerd和CRI-O竞争的热门话题。

无论是使用containerd还是CRI-O作为CRI运行时,它们之间几乎没有太大差异。

由于containerd具备比CRI更为细分化的专有API,并且被设计为能够轻松更换底层运行时和快照等插件,因此其适用场景比CRI-O更广泛。

NVIDIA容器运行时

作为runc的替代运行时,可以在Docker和Kubernetes中使用它。

很快就可以更容易地使用比nvidia-docker还要简便的工具了。

我自己

我让Moby(Docker),BuildKit之外,成为了containerd的维护者。