Cri-o现在的状态
この記事はKubernetes Advent Calendar 2017の10日目の記事です。
我想在这篇文章中讨论cri-o现在的情况。
cri-o 是什么
首先简述cri-o的概述。
Cri-o是专门为Kubernetes开发的容器运行时。
サービスとしてシステム上に常駐し、kubeletがcri-oを操作、cri-oがコンテナランタイムを操作するという橋渡し的な役割を果たします。
間に立っていい感じに動いてくれます。
这个cri-o符合两个标准。
一个是由OCI(开放容器倡议)制定的容器运行时和容器镜像的标准规范。
もう1つはKubernetesとコンテナランタイムの間でのAPI仕様であるCRI(Kubernetes Container Runtime Interface)です。
OCIに準拠していることにより、Dockerイメージ等のOCI準拠のイメージをそのまま利用でき、また、CRIに準拠していることによりKubernetesから操作ができるようになっています。
Kubernetesとcri-oのバージョンの対応関係
Kubernets-incubator/cri-oにも記載がありますが、Kubernetesとcri-oのバージョンの関係は下記のようになります。
当CRI-O的v1.0发布时,与Kubernetes的版本不同。然而,除此之外,基本上创建的版本与Kubernetes的版本相同。
各バージョンのメンテナンスに関しては、過去のバージョンに関してはバグの修正があればパッチが当てられ、最新のバージョン(master)はKubernetesのCRIに変更があれば随時対応されます。
目前的计划路线
cri-o的当前路线图如下所示。
-
- 基本的なPod/Containerのライフサイクル、基本的なイメージのpull(完了)
-
- ttyハンドリングと状態管理のサポート(完了)
-
- kubeletとの基本的な統合(完了)
-
- ログ管理、CNIによるネットワーク統合、プラガブルなイメージ/ストレージ管理のサポート(完了)
-
- exec/attachのサポート(完了)
-
- 完全に自動化されたkubernetesのe2eテストを失敗なしで実行する
Kubernetesのリリースを追跡する
1~5は既に対応が完了しており、現在は6のKubernetesのe2eテストをすべて通す対応を行っているようです。issueを見るとe2eテストの結果は149/151と、あと2件テストが通っていない状況のようなので、もう少ししたら6の対応も終わるのかなと思います。
关于教程
cri-oのプロジェクトにも他の多くのプロジェクトと同様にTutorialが用意されており、cri-oを試す方法が提供されています。
不足额内的跑不好,试过了2017/12/10的教程,结果不太理想。可能是因为我所用的环境有问题,但至少我是
-
- 无法找到GCP上的Ubuntu 16.10镜像
-
- 某些命令需要sudo权限
- 无法成功拉取镜像
といった現象を確認し、3が失敗することにより先に進めることができなくなってしまいました。
回避方法はあるのかもしれませんが、現状Tutorialを利用して手軽に動作確認はできないかと思います。
minikubeで作成した環境にはcri-oがインストールされているので、もしかしたら手軽にcri-oを試すことができるかもしれません。(試したわけではないですが…)
如果有了解,我会再次写在文章里。
总结起来
我写了一下cri-o现在的状况,虽然简单。
基本的容器运行环境功能已经实现,目前重点是更好地与Kubernetes进行协作。
在那些事务处理完之后,我将继续关注cri-o的未来发展。
请参考
cri-o.io
kubernetes-incubator/cri-o