KubeCon China注目の初日キーノートはプロジェクトアップデート
2019年6月24日から上海で開催されたKubeCon/CloudNativeCon/Open Source Summit China 2019(以下、KubeCon China)は、24日にプレカンファレンスを朝から15時過ぎまで行い、その後、メインとなる会場でライトニングトークとしてTencentやHP、VMwareなどのエンジニアが短いトークを行った。そしてその後に、カンファレンス最初のキーノートが始まるという変則的な構成となった。通常であれば前日にプレカンファレンスを行い、その翌日の朝からキーノート、その後にブレークアウトセッションが2日目、3日目に続くと言う形式になるはずだが、上海のカンファレンスでは、初日の夕方に最初のキーノート、翌日の朝に2回目のキーノート、同日の昼にLinux Foundation主催のキーノート、3日目は3回目のキーノートを朝に行い、全体の日程が3日目の昼過ぎに終了するという実質2日間という構成だった。
キーノートは昨年のKubeCon Chinaと同様に英語→中国語の同時通訳が入り、中国語で行われるセッションには英語の同時通訳が入っていた。もはや、中国語がメインと言っても過言ではない構成だ。これは他のセッションでも同様で、中国からの参加者に最大限の配慮を行っていることが感じられる。実際、キーノートで使われるスライドは左側に中国語版、右側に英語版を表示するという形式で、ここでも英語ではなく中国語で情報を取得したい参加者のニーズを満たすスタイルとなった。
初日のキーノートでは、LyftのエンジニアVicki Cheung氏がKubernetesの最新情報を説明し、VMwareのBryan Liles氏がCNCFの他のプロジェクトのアップデートを行った。
Kubernetesのアップデートを解説
Cheung氏のアップデートはKubernetesの1.14そして1.15に関するもので、Kubernetesのコマンドラインツール、kubectlのプラグインがBetaからStableになったこと、Kubernetesが利用するYAMLファイルをテンプレート化するツールであるKustomizeが標準で利用できるようになることなどを紹介した。
また1.15のトピックとしてCRDのPruning(剪定)が行われるようになったことが挙げられた。これはCRD(Custom Resource Definition。キーバリューストアであるetcdに保存されるKubernetesの管理情報やユーザーやベンダーがカスタマイズしたデータ)が膨張していることとも関連していると思われる。ベータということでこれから仕様の変更はあるかもしれないが、CRDセントリックなKubernetesコミュニティの思想の表れということだろう。
CNCFがホストするプロジェクトのアップデート
TiKV
次に登壇したBryan Liles氏はKubernetes以外のプロジェクト、特に中国に関連するものを紹介した。最初に言及したのは、中国のベンチャー企業であるPingCAPが開発をリードするTiKVだ。TiKVはすでにCNCFにホストされているプロジェクトで、分散型かつトランザクション指向のキーバリューストア型データベースである。中国で最大のショッピングイベントである11月11日(独身の日)の膨大なトランザクションを捌くのにも利用されているというのが謳い文句だ。実際にはAlibabaが使っていると言うわけではなく、Alibabaから送られる大量のトランザクションを受けるBank of Beijingなどで使われているというのが正確だろう。
TiKVの大きな特徴として、複数の地域に離れたクラスターのデータストアのレプリケーションを実装していることが挙げられるが、RustとRaftのコンセンサスプロトコルを用いているところに、旧来のモノリシックなデータベースとは大きく異なっていることを感じる。クラウドコンピューティングをネイティブで実装していると言える。ちなみに、KubernetesのetcdもRaftコンセンサスプロトコルを使って分散データベースを実装している。
Raftは複数のサーバー間でマスター/スレーブのような主従関係を予め設定せずに、サーバー同士が合意を取ってデータの同期などを行うための基礎的なプロトコル、システムである。大量のサーバーを使うクラウドコンピューティングの時代ではいつ、どのサーバーがダウンしてしまうかわからないため、使えなくなったサーバーは切り離して次のサーバーを追加して処理を続行する。
ペットと家畜の比喩で言うところの家畜のようにコンピュータ資源を扱うというのが特徴だが、それを実装するためには複数のサーバーが協調して稼働する必要がある。その成功例としてKubernetesが挙げられるが、その基本的な部分を担っているのがetcdであり、さらにその根幹にあるのがRaftということになるだろう。
Harbor
次にLiles氏が紹介したのは、VMware Chinaが開発したHarborだ。Harborは昨年のKubeCon Chinaで初めて紹介され、CNCFでホストされることになったコンテナリポジトリーのためのソフトウェアだ。他にもCoreOS(Red Hatが買収済み)が開発を行っていたQuayなども存在するが、CNCFとしては中国発のプロジェクトとしてHarborを優先したということだろう。
Jaeger
次はGoで書かれたトレーシングのプロジェクト、Jaegerだ。
英語での表記は「Distributed Tracing Platform」である。ここでは簡単に機能を紹介しただけとなった。
Vitess
次はVitessだ。
VitessはMySQLをクラスタリングさせるためのソフトウェアであり、YouTubeが開発しオープンソースソフトウェアとして公開されている。その後CNCFのインキュベーションプロジェクトとして採用され、開発が進んでいる。
他にもDeis(Microsoftが買収)が開発をリードしていたKubernetesのためのパッケージマネージャーであるHelm、Alibabaが開発したP2Pでイメージファイルを配信するDragonflyなどが紹介された。CNCFがホストするオープンソースソフトウェアは拡大しており、カバーする領域や機能が重複するソフトウェアがあってもあまり気にしないというのがCNCFの特徴だ。だが今回のキーノートは、特に中国市場を優遇するという意味でHarborやTiKV、Dragonflyなどを集中的に紹介することで、参加したエンジニアにとって参考になるキーノートだったように思える。
この後には毎回恒例となりつつある失敗談として、GoogleとOpenSDSの女性エンジニア2名が「etcdのSnapshot機能をどう実装するか」を語る興味深いセッションがあったが、そちらについてはあらためて紹介したい。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon North Americaサンディエゴで開催。12,000人と過去最大の規模に
- KubeCon Europe開幕、初日のキーノートではLinkerd、OpenTelemetryに注目
- MySQL互換のTiDBを開発するPingCAP、日本での本格始動を開始
- CNCFによる中国人のためのイベントだったKubeCon China
- KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介
- KubeCon China:中国ベンダーが大量に登壇した3日目のキーノート
- KubeCon+CloudNativeCon開催、勢いのあるKubernetesとCNCFプロジェクトが一同に
- KubeCon Europeでサービスメッシュの標準化を目指すSMIを発表。Istioの動向にも注目
- KubeCon Chinaでは展示ブースも中国ベンダーが猛プッシュ
- KubeCon China:恒例の失敗談トークはスナップショットの実装について