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的维护者。