Kubernetes
Kubernetes 1.9
Workload API (GA), Windows対応 (beta),CSI対応 (alpha) など
Kubernetes対応版Dockerの公開
今のところ,Docker EE, Docker CE for Mac, Docker CE for Windowsのみに対応しており,Docker CE for Linuxでは使えない.
CRI-containerd が containerd本体に合流
Dockerに依存しないCRIランタイムの1つであるCRI-containerdは,Kubernetes Incubatorとして,CNCF傘下のcontainerdとは別個に開発が進められてきたが,containerd本体に合流した.
両プロジェクトの開発者の距離が一層近づいた気がする.
Red HatによるCoreOS買収 ($250M)
https://www.redhat.com/en/about/press-releases/red-hat-acquire-coreos-expanding-its-kubernetes-and-containers-leadership
https://www.forbes.com/sites/janakirammsv/2018/01/30/red-hat-acquires-coreos-for-250-million/
Kubernetesの33個のSIG中,15個についてRed Hatがleadまたはco-leadとのこと.
Cisco Container Platform 発表
HyperFlexなどのCisco製品群やGCPとの連携が意識されている.
ネットワークはContiv.
OCI
Distribution Specプロジェクト立ち上げ
OCI Image Specでは,コンテナイメージを構成するtar layerやJSONのblobの標準仕様を定めているが,イメージ配信プロトコルについては,従来は敢えてスコープ外としてきた.
しかしながら,7月のOCI Image Spec v1.0.0発表後,イメージ配信プロトコルの標準化の議論が再度盛り上がった.
SUSEやHuaweiによる新しいプロトコルの提案もなされたものの,結局,現在de facto standardであるDocker Registry HTTP API v2.0をOCI Distribution Specとして標準化することが,Docker社・Red Hat社を中心としてTOBに提案された.
間もなく正式にプロジェクト発足の見込み.
その他
Eliot (IoT向けコンテナオーケストレータ)
https://medium.com/devopslinks/announcing-eliot-container-platform-for-iot-devices-ad071e1917fd
https://github.com/ernoaapa/eliot
mDNSを使って簡単にクラスタを構成できる.
containerdやLinuxKitなど,Moby関連の技術が活用されている.
SECCOMP_RET_USER_NOTIF
https://patchwork.kernel.org/patch/10199295/
https://www.youtube.com/watch?v=Lg3LU_oM-AU
seccompを使って,特定のシステムコールをユーザランドでhookする仕組み.
ユースケースとしては,コンテナ内での init_module(2)
や mknod(2)
の安全なサポートが想定されている.
SECCOMP_RET_TRACE
に似ているが, ptrace(2)
を使わないので,ptrace(2)
を使う他のソフトウェアに影響を及ぼさない.
是非mainlineにマージされて欲しい.
BuildKit (次世代 docker build
)
スケジューラが大きく書き直され,コンテナイメージのビルドに限らず,汎用的にDAGを実行可能となった.
ただし,スケジューラ自体のユニットテストの簡便化が目的であり,Apache Sparkの類を目指しているわけではない.
分散実行機能の実装も目指しているが,ワーカ間のキャッシュの転送などでまだ課題がある.
rootless containers (自分の取り組み)
root権限が無くてもrunc, containerd, BuildKitを一通り動くようにしてみた.
将来的にはKubernetesやDockerもroot権限無しで動くようにしたい.
hostからnetnsを分離する場合,vethの代わりにtapでユーザランドでパケット処理する必要があるなど,性能面でのオーバヘッドは大きい.
LXCみたいにSUIDビットつきバイナリを利用するなど,多少の妥協は必要そう
Building #Docker container images without root privileges, using #BuildKithttps://t.co/mMVPZQqtmd pic.twitter.com/KjpUvb61x4
— Akihiro Suda (@_AkihiroSuda_) 2018年1月23日
#containerd & #runc without root privilege, finallyhttps://t.co/v3EdAR5fYK pic.twitter.com/9SqAKVxaSX
— Akihiro Suda (@_AkihiroSuda_) 2018年1月16日