コンテナ関連コミュニティの動向 (2017年10月・11月・12月)

2017年8月・9月号 https://qiita.com/AkihiroSuda/items/f2faffe401a0f2dd207d
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

- - -

予想通り，Docker社もKubernetesベースの製品を発表した．


## Docker・Moby関連
### Kubernetes版Docker
https://docker.com/kubernetes

`docker`コマンドと`docker-compose.yaml`でk8sを管理できるようになる。
現行のswarm-modeとほぼ全く同じUX.

CLIは既にPRが出ている( https://github.com/docker/cli/pull/721 )が，サーバ側のモジュールは未公開．

Docker for Macでも近々利用可能となる: https://twitter.com/chanezon/status/937845502544146433
<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/KubeCon?src=hash&amp;ref_src=twsrc%5Etfw">#KubeCon</a> <a href="https://twitter.com/justincormack?ref_src=twsrc%5Etfw">@justincormack</a> UI for the soon to be release <a href="https://twitter.com/Docker?ref_src=twsrc%5Etfw">@Docker</a> for Mac with <a href="https://twitter.com/kubernetesio?ref_src=twsrc%5Etfw">@kubernetesio</a> support <a href="https://t.co/CIu08qp3Rs">pic.twitter.com/CIu08qp3Rs</a></p>&mdash; chanezon (@chanezon) <a href="https://twitter.com/chanezon/status/937845502544146433?ref_src=twsrc%5Etfw">2017年12月5日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


### containerd

https://github.com/containerd/containerd/releases/tag/v1.0.0

ようやく v1.0.0 が出た．

今後のKubernetesでは，ランタイムとしてDockerではなく，containerdまたはCRI-Oのいずれかを使うことが一般的になる．

CRIランタイムとして使う分には，containerdもCRI-Oもあまり違いはない．
containerdは，CRIよりも細分化された独自APIを持っており，また，下位ランタイムやスナップショッタなどのプラグインを簡単に差し替えできるように設計されているため，CRI-Oよりもユースケースが広い．

containerdのほうが速いというベンチマーク結果もある．
https://twitter.com/kunalkushwaha/status/932435809633837056
<blockquote class="twitter-tweet" data-lang="ja"><p lang="en" dir="ltr">I ran benchmarking for <a href="https://twitter.com/hashtag/containerd?src=hash&amp;ref_src=twsrc%5Etfw">#containerd</a> vs <a href="https://twitter.com/hashtag/cri?src=hash&amp;ref_src=twsrc%5Etfw">#cri</a>-containerd vs <a href="https://twitter.com/hashtag/crio?src=hash&amp;ref_src=twsrc%5Etfw">#crio</a> using bucketbench,  Detailed result <a href="https://t.co/cDHMttsJaW">https://t.co/cDHMttsJaW</a> <a href="https://t.co/MYi53EnYrM">pic.twitter.com/MYi53EnYrM</a></p>&mdash; Kunal Kushwaha (@kunalkushwaha) <a href="https://twitter.com/kunalkushwaha/status/932435809633837056?ref_src=twsrc%5Etfw">2017年11月20日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## Kubernetes関連
### Kubeflow

https://github.com/google/kubeflow

JupyterHubやTensorflowなどの環境を簡単にk8sにデプロイできる．

### Virtual Kubelet
https://github.com/virtual-kubelet/virtual-kubelet

ACI, Hyper.sh, AWSなどをバックエンドとしてkubeletをエミュレートできる．

### Brigade
https://brigade.sh/

Kubernetes向けのパイプラインフレームワーク．

Webhookなどのイベントトリガに応じて，コンテナを用いたジョブを実行できる．

Brigadeのダッシュボードとして Kashti ( https://github.com/Azure/kashti ) もある．



## AWS関連

### EKS
https://aws.amazon.com/jp/blogs/news/amazon-elastic-container-service-for-kubernetes/

マネージドなKubernetesが，AWSにもようやく来た．

### Fargate
https://aws.amazon.com/fargate

インスタンスの管理をせずにECSコンテナを直接実行できる．
近々，上記のEKSも利用可能となる．

Azure Container Instancesに似ている．
GCPでも，いずれ似たようなものが提供されそう．


## GCP関連
### GKE無償化
https://cloudplatform.googleblog.com/2017/11/Cutting-Cluster-Management-Fees-on-Google-Kubernetes-Engine.html

従来は，6台以上のノードでは$0.15/hour課金されていた．

### GCEへのコンテナ配信
https://cloudplatform.googleblog.com/2017/11/introducing-an-easy-way-to-deploy-containers-on-Google-Compute-Engine-virtual-machines.html

GKEを使わずに，GCEインスタンスに直接コンテナをデプロイできるようになった．
CI/CDなどのユースケースで有用らしい．

## Azure関連

### Open Service Broker API for Azure
https://azure.microsoft.com/en-us/blog/connect-your-applications-to-azure-with-open-service-broker-for-azure/

CosmosDBなどのAzureサービスを，k8sやCloludFoundryに簡単に統合できる．

## 新しいコンテナ実装

### Balena
https://github.com/resin-os/balena

resin.ioが発表．
Mobyをベースとしているが，IoT向けの最適化(Swarm-modeの削除，差分配信など)がなされている．

### Kata containers
https://katacontainers.io/

OpenStack Foundationが発表．
runv, clear containersなどのVM型OCIランタイムを使える．

### Pouch

http://www.infoq.com/cn/articles/alibaba-pouch
https://github.com/alibaba/pouch

Alibabaが発表．
P2Pによるイメージ配信や，古いカーネル(2.6.32+)をサポートしている点が特徴．