LoginSignup
8
3

More than 5 years have passed since last update.

KubeCon + CloudNativeCon China 2018参加報告

Last updated at Posted at 2018-12-25

はじめに

KubeCon + CloudNativeCon China 2018 に参加してきたので、面白かったプレゼンテーションについて紹介します。特にKubernetesでKubernetesを管理するような話が多く、個人的にも(会社的にも)興味があったのでそういった話を中心にセッションを選びました。

セッションの動画はYoutubeに公開されているので、より詳しい話はそちらを参照してください。

Comprehensive Performance Benchmark on Various Well-Known CNI Plugins

  • CNIの様々な比較
  • デフォルトの設定での比較なので、このまま判断に使うのは難しいが、比較項目は役立ちそう
  • TCPスループット、TCPレイテンシ、TCPスループットvsパケットサイズ、UDPスループットvsパケットサイズ、CPU使用率、Podがネットワークに繋がるまでの時間、ネットワークポリシーの量とレスポンスタイムの関係
  • CalicoはデフォルトがIPIPだったようで、残念(BGPだとどうなるのかが気になった)
  • Concurrentは次回にやりたいという

↓多くのCNIプラグインを比較
image.png

Throughput & Latency

image.png
image.png

Protocol & Packet Sizes

image.png
image.png

CPU Overhead

↓CiliumとWeaveがCPUをよく使っている。
image.png

Network Launch Time

↓flannelはPodを作ってからネットワークが使えるようになるまでの時間が長い
image.png

感想

この数字そのものはデフォルトの設定ということで、改善の余地があると思われるが、CNIプラグイン選定の際のベンチマークの取り方という点で非常に参考になる内容だった。

Node Operator: Kubernetes Node Management Made Simple

KubeCon + CloudNativeCon China 2018: Node Operator: Kubernetes Node Managemen...

  • AlibabaのKaaSで利用されているNode Operatorの紹介

image.png

  • Meta-ClusterでNode Operator, Kube-on-Kube-Operatorが動作
  • Biz-ClusterのMasterは Node OperatorがMeta-ClusterのNodeとしてマシンをセットアップし、Kube-on-Kube-OperatorがマスターコンポーネントをPodとしてデプロイ
  • Biz-ClusterのWorkerは Node Operatorがマシンをセットアップ、上記Masterのメンバとして登録する
  • 最初のクラスタはminikubeで一時的に作ると言っていた。

image.png

Evolving Sigma: Adapting Kubernetes at Alibaba

KubeCon + CloudNativeCon China 2018: Evolving Sigma: Adapting Kubernetes at A...

  • AlibabaのインフラであるSigmaの話
    image.png

  • 2018年Sigma3.0からKubernetesベースとなった(2017 Sigma2.0はSwarmベースだったらしく、かなり頻繁に作り直しているようだ)
    image.png

  • バッチジョブとKubernetesのPodを共存させてリソースの効率化を図っている

  • Sigma3.0への以降はクラスタを2つ用意するのではなく、1つのマシンに新旧2つのエージェントを共有させ、スケジューリングを独自のUnifiedSchedulerで行うことで実現している。(力技感
    image.png

  • dragonflyの活用

  • Kubernetesを拡張している

    • CPU Packing
    • CPUのコアとコンテナを紐づける
    • In-Place set controller
    • Podを再スケジューリングすることなく設定変更
    • Image preheat
    • バッチなどで複数のコンテナを直列で実行する際に、Pullを並列化する image.png 割となんでも再実装していて勢いを感じた。

Model and Operate Datacenter by Kubernetes at eBay

KubeCon + CloudNativeCon China 2018: Model and Operate Datacenter by Kubernet...

  • eBayがデータセンターをCRDで管理している話

↓このような時代に終りを告げる
image.png
↓時代に合わせてインフラをも刷新し続けてきた
image.png

  • 次のようなCRDを用意

    • Rack, NoetworkDevice, ComputeAsset, Region/AZ, NetworkScorp
    • OS, Flavor, ComputeNode
    • Kernel params, Environment config, Network
    • Core components, Addon, Taint image.png
  • アップグレードはRackByRackでローリングアップデート

  • Kubernetesクラスタもこれで作っている

    • まずはSalt masterをこの仕組みで作る
    • Kubernetesの構築はSaltのrepoで管理されている
  • StatefulなアプリケーションはKubernetesにのせずにこの仕組みで管理することもできる

image.png

Deep Dive: CNCF K8s-Conformance WG

KubeCon + CloudNativeCon China 2018: Deep Dive: CNCF K8s-Conformance WG - Zef...

  • せっかくなのでDeepDiveも見てみる
  • Conformanceテストの時間を短くする方法
    • まずは並列でテストを行う
    • タイムアウトを伸ばす

image.png

  • GFWに阻まれてうまく実行できない
    • 客席にいたDan Khonが中国にもミラーを用意する予定がある、とアナウンスしていた
  • Conformanceテストを追加する要件について紹介

image.png

  • Conformanceテストのドキュメントについて紹介 テストが失敗した時などに役立つとのこと。
  • 途中から客席にいるConformanceTestに詳しい人(偉い人?)が質疑応答に応じはじめて、もうお前前へこいよ 的な展開になった。DeepDive感を感じました。

↓なぜか4人前に立っている
image.png

Seamless Integration - Take Kubernetes into your Existing Monitoring Stack

KubeCon + CloudNativeCon China 2018: Seamless Integration - Take Kubernetes i...

Kubernetes以前から存在するモニタリングシステムとKubernetesのモニタリングをどのようにつなげるのかという話。

基本的にはメトリクスをKafkaに送って、既存のモニタリングシステムに送り込むという仕組み。

  • cAdvisorをDaemonSetでデプロイして、そのメトリクスを収集する
  • PrometheusのサイドカーとしてPromQLを定期的に実行し結果をKafkaに送信する
  • PrometheusのRemote_writeの送信先に独自のアダプタを設定し、そのメトリクスをKafkaに送信する
  • ExporterをScrapeするGoのプログラムを自前で書いてそのメトリクスをKafkaに送信する

という方法を紹介。それぞれのPros,Consも表にしてある

image.png

その他

会場に卓球台がある

image.png

夜は謎の龍や太鼓の演奏

image.png

目の前でみかんをすりつぶしてジュースにする自販機

image.png

まとめ

Kubernetesを基とした独自のクラウド基盤についての話をたくさん聞くことができた。これも中国という特殊な環境が生み出したものであると感じました。
また、中国には巨大なIT企業がいくつもあり、相当のコストをかけてインフラを開発・運用していることを知りました。
Z Labでは、Kubernetes as a Serviceを開発しています! この記事で紹介したようなKubernetesでKubernetesを管理する話に興味のあるエンジニアの方を募集しています!

この記事はZ Lab Advent Calendar 2018 の記事として業務時間中に書きました。

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3