Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kubernetes Cluster Adminやってました #con_rider

820 views

Published on

「2018/11/02 コンテナに乗り遅れた人たちへ」で発表した資料になります。
https://askul.connpass.com/event/104621/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Kubernetes Cluster Adminやってました #con_rider

  1. 1. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 2018年11月5日 ヤフー株式会社 アスクル 内田 聡史 Kubernetes Cluster Admin やってました
  2. 2. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. ターゲット 2 これからコンテナをProductionで 動かそうという方 どっちかっていうとk8sの話…。 k8s用語が出るのはご了承ください。
  3. 3. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 自己紹介 内田 聡史 2008 – ヤフー株式会社  ヤフオク  システム統括本部PF開発本部  2018年10月より アスクル株式会社に出向 LOHACO 担当 3 #水曜どうでしょう #WWE #バンド活動 #vivabeers #4弦 #bass #二郎 #golang #k8s #docker
  4. 4. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 私のミッション
  5. 5. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 私のミッション 5 Kubernetes Cluster Admin としてホスティング環境を提供する
  6. 6. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Why 6 エンジニアがアプリケーションの 開発に注力できる環境を作るため
  7. 7. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kubernetes導入前 7 チームA チームB End Users VM or BareMetal(IaaS) Dev/Ops Dev/Ops Use Use アプリケーションの開発・運用 デプロイ・ロールバック ランタイム管理 VIPなどのネットワーク設定 Kernelなどのバージョン管理・脆弱性対応
  8. 8. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kubernetes導入後 8 チームA チームB End Users Kubernetes Cluster deploy/publish deploy/publish Use Use Docker Imageの管理 アプリケーションの開発 デプロイ管理 Kubernetes Cluster Admin Kubernetes自体の管理 Kernelのバージョン管理・脆弱性対応 VIPなどネットワーク設定 Docker Image Docker Image
  9. 9. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 戦いの日々
  10. 10. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. OS問題 10 CentOS 7.xでIssue踏みまくり。 Container Linux化を目指してます。
  11. 11. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Update時間かかる問題 11 OSSを使おうとした • kubeadm → Production非推奨 • kubespray → Updateに4時間! 独自にIaC化。それでも40分くらい。 Container Linux化でおそらく変わる。
  12. 12. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Updateの安全性問題 12 安全にKubernetes Updateしたい。 • 利用者の使い方にもよってしまう • サービスの瞬断が発生しうる状況 Service Discoveryが必要?
  13. 13. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 権限管理問題 13 マルチテナントで提供 • 他のチームのアプリは操作不可能に • Clusterの権限は利用者に付与しない KubernetesのRBACで権限管理。
  14. 14. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Fat Image問題 14 Docker Imageが大きすぎ • Pullに時間がかかる • デプロイやスケールが遅い ネットワークの調整(10G)で対応。 利用者には小さくしてもらうことを呼びかけ。
  15. 15. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. セキュリティ問題 15 役割と責任範囲の分離のため • NodeにSSHさせない。 • ホストOSのdocker.sockは使用禁止。 • マルチテナントなのでPod間通信を抑制。 Pod Security Policy/Pod Network Policy サーバのアカウント設定で対応。
  16. 16. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. Kubernetesのリリースサイクル問題 16 バージョンアップが早い • 3ヶ月に1回マイナーバージョンが上がる • 2017/09 v1.8 → 2018/09 v1.12 • キャッチアップが追いつかない ひたすら追いかける
  17. 17. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. more and more and more … 17 • Multiple Zone/Federation • Stateless or Stateful(Storage) • キャパシティプランニング • モニタリング(Prometheus) • コンテナのログは消えますよね …
  18. 18. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 得た学び
  19. 19. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 得た学び 19 コンテナをProductionで動かす時は 1. 管理者/利用者を分けましょう 2. マルチテナント or シングルテナント を決めましょう
  20. 20. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 管理者/利用者を分ける 20 Node Orchestration Container アプリを作る人。 Containerの動作環境を 管理する人。
  21. 21. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 管理者/利用者を分ける 21 アプリ開発者が アプリの開発に注力するため。
  22. 22. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. マルチテナント or シングルテナント 22 マルチテナント • クラスタ数が少なくて済む • サーバリソース(CPU/Memory) の有効活用
  23. 23. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. マルチテナント or シングルテナント 23 シングルテナント • 権限管理が比較的楽 • コンテナ間通信の防止が不要 • Statefulを実現しやすい • スケールを担保しやすい
  24. 24. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. マルチテナント or シングルテナント 24 正解はありません。 状況によってどちらが適切かの 判断が必要。
  25. 25. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved.Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 心がけていたこと
  26. 26. Copyright (C) 2018 Yahoo Japan Corporation. All Rights Reserved. 心がけていたこと 26 • とにかくTry & Errorをしよう • 早く失敗しよう • ミニマムにシンプルに始めよう

×