Skip to content

Latest commit

 

History

History
179 lines (131 loc) · 5.54 KB

20190531_yjmu.md

File metadata and controls

179 lines (131 loc) · 5.54 KB

Yahoo! JAPAN MEETUP #32 インフラ技術/Kubernetes

Opening (5min)

  • yahoo oss 力入れ始めてる
  • yahoo インフラを刷新する数年かかりのPJ中
  • Yahoo の子会社の Actapio が Heptio とロードバランサを共同開発した
  • vmware社からじょーさんに来てもらえるとかしゅごいよ

The origins and future of Kubernetes (en/英語) (60min) @Joe Beda (@jbeda), VMware

  • platform builder

  • google でコンピュータエンジンに関わっている中で k8s 作った

  • プラットフォームの面白いのは利用者が簡単に使えるところと想定外の使い方に対して柔軟性

  • containers@google

    • 10年以上オーケストレーションの歴史
    • あっぷりでゅーす??
    • バッジしか対応できてなかった: vogue誕生
    • 副次的効果: apiドリブン: セキュリティ、効率性とか
      • 仮想マシン使ってる人たちを引き上げたい
        • そのためにはOSS化は避けられない
      • google 以外のユーザに使ってもらいたい
  • マシン上のコンテナの領域を超えた

    • コアはDB
  • controllers

    • どうにか歩をすすめる
    • controller 一つ一つはシンプル
    • jazzの方が近い
  • pod(primitive)

  • replicaset

    • 少なすぎれば作るし、多すぎれば消す
  • dployment

    • 同様にreplicasetをコントロールする
  • custom resource definitions

    • これによってあたかもビルトインオブジェクトのように作りたいものをつくれる
  • operators

    • oracle mysql operatorとか好き
    • キューブフロー: マシンラーニングに関わるデプロイメントとかオペレーションの生産性の向上のため

Kubernetes at Yahoo! JAPAN IaaS team (30min) @Ryutaro Inoue, Yahoo! JAPAN

Gimbal

  • L7 Load Balancer Platform

  • VM から Container へスムーズな移行

    • 160+OpenStackクラスタ
    • 柔軟なバランシングを目指している
  • 可視化

  • Heptio

    • 技術力
    • OSS connection
  • OSS化

    • 多様なbackendプラットフォームへの対応
    • 同士探す
  • IngressRoute: 要調査

  • Envoy 1pod で 300K rps 達成

    • Envoy前段のL4LB等でリニアにスケール可能

Iaasを裏側で支えるKubernetes

  • OpenStack on Kubernetes

    • under cloud として利用
      • VMからコンテナへ
        • 管理サーバ減らした
  • SWL4LB based on Kubernetes

    • ロードバランサのコントロール / データプレーン
      • OSSの組み合わせでN+1のロードバランサを実現
  • OpenStack: IaaS基盤を実現するOSS

    • クラスタ数: 160+
  • OpenStackの役割

    • ハイパーパイザ
      • 仮想マシンが起動
    • コントローラ: まずここ
      • APIやDB認証・認可
  • OpenStackを動かすためのOpenStack

    • Under Cloud と呼ばれる
      • 簡単にVMを増やしてスケールできる
  • コントローラ(VM)

    • 多様なバージョン、構成が存在し自動化に限界
  • Jenkinsですべてやろうとすると

    • パイプラインスクリプトが複雑化
    • 手動で操作されるとJenkinsは気づかない
    • BootStrap問題
  • Good

    • Kubernetesのセットアップは容易

    • コンテナの移行で管理サーバが激減

      • Probeを使った再起動で場当たり的対処ができるので腰を据えられる
  • Bad

    • オンラインdebugが大変
      • IngressにVMを紐付けることも
    • TCPまわりのトラブルのときはconntrackから接続先を追う必要がある RabbitMQでくろう
    • 2017 centos+dockerが不安定で苦労: 今は第上う
  • SWL4LB based on Kubernetes

    • Zlab

      • OpenStackの上でKubernetesを動かしたい
      • type: loadbalancer使いたいからOpenStack LBaasでインラインL4ロードバランサが必要
    • OpenStackチーム *

  • Good

    • Kubernetesがコントロール/データプレーンで必要な機能をそのままカバーしてくれた
    • OSSの組み合わせなので自分たちで解析可能
    • Kubernetes/Dockerが動けばいいので専用マシンは不要、余ったサーバを割りたてたりVMも使える
    • 広報を絞ったり・・・
  • Bad

    • iptables, conntrack辛い
      • 性能の問題だけでなく、TCPの追跡を困難にする
    • トラブル時にすべてのノードでtcpdump辛い
    • ノードダウン時に理ハッシュが発生して一部TCPが断たれる: 致命的
  • VPPを利用したL4ロードバランサを会派中

懇親タイム sponsored by Yahoo! JAPAN

LT1 Introduction of k8s-cluster-simulator:

  • @dtaniwaki
  • Preferred Networks

LT2 kube-awsからEKSに移行した話 @foostan

  • freee
  • EKSリリース以前からk8s使っていた
  • マルチテナントからシングルテナントへ
  • わけておくと障害範囲を限定できるよね
  • プロダクト毎に権限を分けておく必要がある
  • 来月のawsサミットで詳しく発表する

LT3 図で理解するDescheduler

  • @kurosawa
  • 移動可能なPodを見つけて削除してくれる
    • 削除するPodのポリシーを設定ファイルでしてい
  • RemoveDuplicates
    • Nodeが生き返ってもPodが返ってこないやつを改善
  • LowNodeUtilization
    • 数の制御

LT4 State of the art of gitops with helm

  • what is helm
    • k8s 向けパッケージマネージャ
  • GitOps
    • すべての変更をcommit してから

LT5 GWにやってきた Rook v1.0で試すCSI @kobayashi

  • db on k8s いろいろやってる

  • Rook v1.0

    • deploy
    • ceph 注意点
  • rook

    • cnfc incubate プロジェクト