KubeCon + CloudNativeCon China 2019 現地レポート 1日目

こんにちは、Necoプロジェクトの井上です。 昨日に引き続きKubeConの現地レポートをしていきます。本日は KubeCon + CloudNativeCon China 2019 の1日目ということで、多くのセッションが同時並行で開催されていました。中国語のセッションも多かったですが、会場には翻訳者が各セッションに配置されていたため、中国語がわからなくても参加が可能でした。 また、キーノートでは Linuxの生みの親であるLinus Torvalds氏 が登壇しました。

昨日の記事については以下の記事をごらんください。

blog.cybozu.io

本記事では参加したセッションで紹介された情報や、印象に残った発表を簡単に紹介していきます。

Keynote: Linus Torvalds, Creator of Linux & Git, in conversation with Dirk Hohndel, VP & Chief Open Source Officer, VMware

Linus氏と Dirk氏 が対談する形でのキーノートです。 Linus氏が登場すると会場全体のテンションが一気に上がったのが伝わってきました。 いろいろ話していたのですが、印象に残っていたのは、Linus氏が Kubernetes について OSS の先輩としてアドバイスを求められた時、Kubernetes は若いプロジェクトなので、文化とコミュニティを作るのが大事だと話していたことです。 また、Linux の未来に関して、進化してきたのはハードウェアそれ自体とどう使うかであって、Kernel 自体は将来のハードウェアがどうなるかはわからないけれども、Kernel は変わらないだろうと述べていました。 なぜなら50-60年前からリソースマネージャとハードウェア, ソフトウェアとのインターフェースの役割を果たすのは変わっていないからです。Kernel developer でない私にとっては、Kernel が将来的にどのようになっていくのかということに関して、あまりイメージがなかったため、Linus氏の発言は新鮮でした。

f:id:cybozuinsideout:20190626052411j:plain
Linus Torvalds, Creator of Linux & Git, in conversation with Dirk Hohndel

How Should You Effectively Use etcd Metrics - Wenjia Zhang & Jingyi Hu

このセッションは中国語で行われ、主に etcd のメトリクスについての話をしていました。 etcd とはKey-Value型のデータベースで、Kubernetesではクラスター情報を保持するために使われています。 セッションでは etcd のプレフィックスがetcd_server_etcd_network_のメトリクスに関する説明と、新しくメトリクスとして追加された、snapshot metricspeers healthines, strage layer metrics 等を紹介していました。 また、etcd クラスタを構成するサーバの形として learner が 紹介されました。 learner は etcd で採用されている Raft と呼ばれる分散合意 ( Consensus ) アルゴリズムにおいて、voting を持ちません。なので、新しいサーバを追加する際に learner として追加することで、Raft が不安定にならず、クラスタに安全に追加することができます。機能としては今年の5月に入りました。

f:id:cybozuinsideout:20190626052809j:plain
How Should You Effectively Use etcd Metrics - Wenjia Zhang & Jingyi Hu

E2E Testing: Real Developers Don't Test... But They Should

End to end テストをもっとすべきだというセッションでした。セッションでは、NFS driver, pmem-csiを例にして ginkgo, gomega を使ったやり方の説明を行なっていました。また、テストにおけるパラメータの使い方や、viper の説明なども軽く触れられていました。ここら辺のツールは我々の Neco プロジェクトでもよく使用しており、すんなり理解できました。 最後の質疑応答では freezing test (リリース直前にテストを安定させるため、テストの変更をしない期間) に関する補足も入りました。

f:id:cybozuinsideout:20190626053148j:plain
E2E Testing: Real Developers Don't Test... But They Should

まとめ

KubeCon China では、関心がある分野の Session も多く、大変勉強になった他、普段会えないような人に質問したり、他の参加者と仲良くなったりと、とても有意義でした。また、Session の後、speakerに質問することが多かったですが、皆さん、丁寧に説明してくださり、とてもありがたかったです。例えば、E2E Testing の Session で Neco プロジェクトで最近問題になったE2Eテストが長引く問題をどう解決すべきかに関して、質問したところ、mtest や code review を徹底することで、E2Eテストで実施が必要なものだけを残してテスト時間を減らすのはどうかというアドバイスを頂きました。

KubeCon + CloudNativeCon China 2019 の最終日のレポートも引き続きお送りいたしますので、お楽しみください!