KOF2019 Why Rancher?

5862ce660c5a25de9584b0c2e5497055?s=47 sasaki
November 08, 2019

KOF2019 Why Rancher?

5862ce660c5a25de9584b0c2e5497055?s=128

sasaki

November 08, 2019
Tweet

Transcript

  1. STRICTLY CONFIDENTIAL 2019/11/8 Alpaca Japan Shinya Sasaki Why Rancher ?

  2. STRICTLY CONFIDENTIAL Who? Shinya Sasaki Head of Infrastructure Engineering at

    AlpacaJapan Co., Ltd. Osaka, Japan 2
  3. STRICTLY CONFIDENTIAL Why Rancher ?

  4. STRICTLY CONFIDENTIAL KubernetesとRancherと私

  5. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位)

  6. STRICTLY CONFIDENTIAL ➢ 苦行・・・ Kubernetesクラスタ 構築 8

  7. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位)

  8. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入

  9. STRICTLY CONFIDENTIAL ➢ GUI ➢ AWS上でつくる であれ 、AccessKey情報だけでつくれた Rancherで 構築

    11
  10. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入

  11. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位)

  12. STRICTLY CONFIDENTIAL マネージドサービス 登場 14

  13. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位)

  14. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位) →

    Rancher こと 忘れる
  15. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位) →

    Rancher こと 忘れる 本番環境へ Kubernetes導入、運用開始 (2019年)
  16. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位) →

    Rancher こと 忘れる 本番環境へ Kubernetes導入、運用開始 (2019年) → Rancher再投入
  17. STRICTLY CONFIDENTIAL Kubernetes 検証開始 (2017年位) → クラスタ構築にRancherを投入 マネージドサービスが出揃う (2018年位) →

    Rancher こと 忘れる 本番環境へ Kubernetes導入、運用開始 (2019年) → Rancher再投入
  18. STRICTLY CONFIDENTIAL kubernetes運用を始めると出てきた課題 20 1. クラスタ 増加 2. 利用ユーザ 増加

    3. 利用シーン 増加
  19. STRICTLY CONFIDENTIAL 1. クラスタ 増加 ど レベルでクラスタをつくるか? • シングルクラスタ •

    1つ、もしく ある程度大きなクラスタで運用 • 用途ごとにNamespaceを分ける • マルチクラスタ • 用途ごとに個々にクラスタをつくる • サービスごと • 環境(Production、Staging、Development)ごと 21
  20. STRICTLY CONFIDENTIAL 1. クラスタ 増加 ど レベルでクラスタをつくるか? • シングルクラスタ •

    1つ、もしく ある程度大きなクラスタで運用 • 用途ごとにNamespaceを分ける • マルチクラスタ • 用途ごとに個々にクラスタをつくる • サービスごと • 環境(Production、Staging、Development)ごと 22
  21. STRICTLY CONFIDENTIAL シングルクラスタ デメリット • バージョンアップ等 メンテナンス、障害時 影響大 • 作業調整が大変

    • 影響が把握できない • ポリシー 管理が複雑 • セキュリティグループ、IAMポリシー 23
  22. STRICTLY CONFIDENTIAL マルチクラスタ デメリット • 複数 API URL、kubeconfig 24

  23. STRICTLY CONFIDENTIAL 2. 利用ユーザ 増加 • 運用負荷 増加 • 利用方法

    説明 • クラスタ追加時 アクセス方法 通知 • kubeconfig 配布 • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 25
  24. STRICTLY CONFIDENTIAL EKSで ユーザアクセス制限 1. AWS側でIAMユーザを作成 2. kubernetes側でRBAC設定適用 3. kubernetes側でconfigmap/aws-authを編集し、IAM

    ユーザに紐づけ 26 $ kubectl edit -n kube-system configmap/aws-auth • 問題点 • aws-auth ワーカーノード IAMロールも含まれる で、Git管理しにくい • あとから確認しにくい https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/add-user-role.html
  25. STRICTLY CONFIDENTIAL 3. 利用シーン 増加 • 環境 違い • 普段

    セットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか • ユーザーごと Kubernetes理解度、利用頻度 違い • kubectl? なにそれ? • こ コンテナ実行したいだけなんだけど • こ yaml実行したいだけなんだけど 27
  26. STRICTLY CONFIDENTIAL 1. クラスタ 増加へ 対応 • 複数 API URL、kubeconfig

    28
  27. STRICTLY CONFIDENTIAL 1. クラスタ 増加へ 対応 • 複数 API URL、kubeconfig

    29 Rancher URLさえわかっていれ
  28. STRICTLY CONFIDENTIAL 2. 利用ユーザ 増加へ 対応 • 運用負荷 増加 •

    利用方法 説明 • クラスタ追加時 アクセス方法 通知 • kubeconfig 配布 • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 30
  29. STRICTLY CONFIDENTIAL 2. 利用ユーザ 増加へ 対応 • 運用負荷 増加 •

    利用方法 説明 • クラスタ追加時 アクセス方法 通知 • kubeconfig 配布 • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 31 外部認証に対応 クラスタごと、プロジェクトごと にユーザ権限が設定可能
  30. STRICTLY CONFIDENTIAL 2. 利用ユーザ 増加へ 対応 • 運用負荷 増加 •

    利用方法 説明 • クラスタ追加時 アクセス方法 通知 • kubeconfig 配布 • アクセス権 • ユーザごとに権限を変えたい • Namespaceレベル • リソースレベル • RW/RO → RBAC 32 ユーザに権限を付与すれ 、 アクセス可能なクラスタ /プロ ジェクト み表示
  31. STRICTLY CONFIDENTIAL 3. 利用シーン 増加へ 対応 • 環境 違い •

    普段 セットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか • ユーザーごと Kubernetes理解度、利用頻度 違い • kubectl? なにそれ? • こ コンテナ実行したいだけなんだけど • こ yaml実行したいだけなんだけど 33
  32. STRICTLY CONFIDENTIAL 3. 利用シーン 増加へ 対応 • 環境 違い •

    普段 セットアップされたローカルPC or Macからkubectlを実行 • 一時的にローカル環境使えない場合とか • ユーザーごと Kubernetes理解度、利用頻度 違い • kubectl? なにそれ? • こ コンテナ実行したいだけなんだけど • こ yaml実行したいだけなんだけど 34 ブラウザ上で kubectl yamlファイル コピペ GUIで コンテナ、パラメータ指定 複数 デプロイ方法に対応
  33. STRICTLY CONFIDENTIAL まとめ • マネージドサービスを使っていても出てくる課題 • クラスタ 増加 • 利用ユーザ

    増加 • 利用シーン 増加 • Rancherと使うとクラスタ管理 楽になる(かも) 35
  34. STRICTLY CONFIDENTIAL Thank you