KubeCon + CloudNativeCon Europe 2021 参加レポート


Loading...

はじめに

KADOKAWA Connected KCS部の関森です。

2021年5月にオンラインで開催されたKubeCon + CloudNativeCon Europe 2021に参加してきたので、概要や個人的に気になったセッションについて紹介したいと思います。

KCS部からは私含め5人が参加してきました!

www.cncf.io

 

概要

KubeCon + CloudNativeConは、CloudNative技術全般やその中心技術であるKubernetesに関する世界最大規模のカンファレンスです。Europeの他にも、アメリカで開催されるKubeCon + CloudNativeCon North Americaや、中国で開催されるKubeCon + CloudNativeCon Chinaなどがあります。

今回参加したKubeCon + CloudNativeCon Europe 2021は、2021年5月4~7日の4日間オンラインで開催されました。COVID-19の影響で前回のNorth America 2020に引き続きオンラインでの開催となりました。現地参加ができないのは残念ですが、家にいながらカンファレンスの聴講ができるのは楽でいいですね。

また今回は日本のゴールデンウィーク期間と重なっていましたが、業務時間扱いで参加させてもらいました。

日本との時差は7時間で、日本時間だと17~23時くらいの時間にセッションが行われました。遅い時間ではありましたが、深夜ではなかったため会期中完全には昼夜逆転せず助かりました。

オンライン開催ということで、web上に専用のイベントプラットフォームが用意されていて、そこでライブセッションやその他コンテンツが閲覧できるようになっていました。

f:id:kdx_writer:20210610111720p:plain

セッションのほとんどは録画したものの配信だったようですが、プラットフォーム上に質疑応答のフォームがあり、視聴者の質問に対して発表者が回答する形式になっていました。発表時間外でも質問・回答ができる点、質疑の内容がテキストとして残る点はオンラインカンファレンスならではの利点だなと感じました。

事前に発表スライドが公開されていたため、見るセッションを決めやすかった点も良かったです。

参加費は通常$75で、早期登録すると$10でした。

参加者特典としてCKA (Certified Kubernetes Administrator)CKAD (Certified Kubernetes Application Developer) などのKubernetes認定資格試験の半額クーポンがもらえてお得でした。

さらにマスコットキャラクターのブロックのおもちゃが届きました。

f:id:kdx_writer:20210610112516j:plain

 

気になったセッション

私が個人的に気になったセッションについて紹介します。

なお会期中はイベントプラットフォームのみでの公開だったため登録者しか見れませんでしたが、現在はYouTubeで動画が公開されています!

KubeCon + CloudNativeCon Europe 2021 - YouTube

 

キーノート

キーノートセッションは5~7日の計3日間に分けて行われました。

CNCFコミュニティの各部門やスポンサー企業による多くのキーノートセッションがありましたが、ここでは主要な部分や気になった部分について紹介します。

 

Cloud Native: The Building Blocks for the Human Experience - Priyanka Sharma & Zain Asgar - YouTube

  • COVID-19の影響により、現地でのカンファレンス開催ができなくなったこと
  • 一方でOSS活動やオンラインでのカンファレンス・勉強会などのコミュニティ活動が活発になったこと
  • CNCFがホストしているOSSへのcontributor数が81,298人 (2019年) から118,326人にまで増えたこと
  • 新たな認定試験であるCKS (Certified Kubernetes Security Specialist) について

 

Kubernetes Project Update - Stephen Augustus, KubeCon + CloudNativeCon Europe 2021 Co-Chair - YouTube

  • Kubernetes自体のマイナーバージョンアップデート頻度が年4回から年3回に変わること

 

Predictions from the Technical Oversight Committee (TOC) - Liz Rice & Lei Zhang - YouTube

また2021年に注目すべきトレンド技術として

  • カオスエンジニアリング
  • エッジコンピューティング向けKubernetes
  • サービスメッシュ
  • WASMとeBPF
  • 開発者と運用者の体験

を挙げていました。

 

eBPF on the Rise - Getting Started


www.youtube.com

eBPF (extended Berkeley Packet Filter) という技術の概要とCloudNative分野ではどのように使われているかについてのセッションでした。

eBPFは、Linuxカーネル上のリソースをプログラマブルに実行可能にする技術です。 

f:id:kdx_writer:20210610114800p:plain

https://static.sched.com/hosted_files/kccnceu2021/ca/kubecon-eu-2021_ebpf-on-the-rise.pdf#page=11

CloudNative分野での利用例として、kubectl traceCiliumが挙げられます。

kubectl traceは、Kubernetesクラスタ上のリソース上でbpftraceスクリプトを実行可能にするものです。例えば、Podが動いているワーカーノードのカーネル上で実行されている関数をトレースすることができたりします。

Ciliumは、eBPFを利用したネットワーキングやオブザーバビリティのためのツールです。Kubernetesでは、kube-proxyの代替になるコンポーネントとして注目されています。kube-proxyはKubernetesクラスタの各ノード上に存在するネットワークプロキシであり、クラスタ内のルーティングを制御しています。kube-proxy内部ではiptablesが標準で利用されていますが、iptablesは数多くのフィルタを使用することや、線形探索によりフィルタリング処理を行うことにより、サービス規模が大きくなるにつれレイテンシが大きくなってしまいます。

f:id:kdx_writer:20210610115517p:plain

https://static.sched.com/hosted_files/kccnceu2021/ca/kubecon-eu-2021_ebpf-on-the-rise.pdf#page=32

一方、eBPFを利用しているCiliumはカーネルの再コンパイルおよびモジュール読み込みが不要なことや、ハッシュマップを使用することにより、高速にルーティングを行うことが可能です。

f:id:kdx_writer:20210610115655p:plain

https://static.sched.com/hosted_files/kccnceu2021/ca/kubecon-eu-2021_ebpf-on-the-rise.pdf#page=33

またIstioでL7レイヤでのコンテナ間通信を行う場合、EnvoyとService間の通信のためソケット、TCP/IP、iptables、Ethernetの処理が複数回生じていましたが、eBPFにより大幅に簡略化することが可能です。

 

Jaeger Intro and Deep Dive


www.youtube.com

JaegerというCNCFのgraduated (十分に成熟した) プロジェクトの一つについてのセッションでした。 

Jaegerは分散トレーシングプラットフォームであり、マイクロサービスベースの分散システムの監視のために利用可能です。トレースの流れをダッシュボードで見ることができ、どこの処理に時間がかかっているのか、またどのコンポーネントで障害が起きているかの特定が容易になります。

f:id:kdx_writer:20210610120155p:plain

https://static.sched.com/hosted_files/kccnceu2021/97/Jaeger%20Intro%20Kubecon%202021.pdf#page=7

Jaegerのトレースの流れについて簡単に説明します。

f:id:kdx_writer:20210610120031p:plain

https://static.sched.com/hosted_files/kccnceu2021/97/Jaeger%20Intro%20Kubecon%202021.pdf#page=16

アプリケーション上のjaeger-clientからspansと呼ばれるトレースのためのメタデータをjaeger-agentに送信します。jaeger-agentはアプリケーションのサイドカーコンテナもしくはDaemonSetとして起動しており、jaeger-collectorにspansを送信します。

以上を各アプリケーションで行うことによりトレースを可能にします。

またKubernetesのカスタムリソースであるjaeger-operatorを使うと、jaeger-agentを各アプリケーションまたはノードに自動でインジェクションしてくれたり、KafkaElasticsearchなどのストレージなどとも連携が可能になります。

Jaeger以外にもOSSのmaintainerによる発表は数多くあったため、気になるOSSがある方は動画を見てみることをオススメします!

 

おわりに

Kubernetesのアップデート内容やCloudNative技術に関するOSSについて広く知ることができ、参加して良かったと思っています。

ただ、聞いているだけとはいえ1日数時間を4日間、しかも全部のセッションが英語ということで思っていたよりも疲れました。

今回はオンライン参加でしたが、ぜひ現地参加もしてみたいです。 

KCS部ではKubernetesやCloudNative技術を利用した開発を行っています。興味がある方は採用ページからご応募ください。

herp.careers