Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rancherのプロジェクト機能によるリソース管理/The function of Rancher's project

3499a1d71fa70b8ee44816ca9e7329fe?s=47 bells17
November 30, 2021

Rancherのプロジェクト機能によるリソース管理/The function of Rancher's project

RancherJP Online Meetup #03 のLTのセッション資料です。
https://rancherjp.connpass.com/event/229465/

配信URLはこちらになります。
https://youtu.be/FVfVj1bfT3k

3499a1d71fa70b8ee44816ca9e7329fe?s=128

bells17

November 30, 2021
Tweet

More Decks by bells17

Other Decks in Programming

Transcript

  1. Rancherのプロジェクト機能による リソース管理 RancherJP Online Meetup #03(2021/11/30) @bells17

  2. ▶ @bells17 ▶ Software Engineer ▶ 普段やってること: + Kubernetes 関連コンポーネントの開発

    + Kubernetes as a Service開発の調査・研究 ▶ Kubernetes SIG-Docs Japanese localization reviewer ▶ Kubernetes Internal Organizer ▶ #kubenews ▶ @bells17_
  3. Rancherのプロジェクト機能?

  4. None
  5. None
  6. プロジェクト機能でできること ▶ 複数Namespaceのグルーピング ▶ プロジェクトにアクセスできるユーザーの管理 ▶ ユーザーに対するRancherのRole機能によるプロジェクトへの権限の割当 ▶ Secretのプロジェクトレベルでの管理機能 ▶

    プロジェクトレベルでのResource Quota設定 ▶ RancherのCI/CD機能との連携 ▶ Rancherの提供するツールとの連携 + CI/CD + 通知/Alert + ロギング + モニタリング
  7. ユースケース ▶ アプリケーションやマイクロサービスの開発チーム毎にプロジェクトを分割~プロジェク ト内部のNamespaceで各アプリケーションなどを管理 ▶ プロジェクトにアクセスできるユーザーと権限を制限 ▶ プロジェクトレベルで共通で管理したいSecretをRancherでコントロール ▶ CI/CDなどRancherのツールとの連携

    ▶ etc
  8. ⼀⽅で…

  9. マルチテナント管理向けのOSSがいくつかある ▶ HNC: https://github.com/kubernetes-sigs/hierarchical-namespaces ▶ Accurate: https://github.com/cybozu-go/accurate

  10. HNC ▶ Kubernetesコミュニティによって開発 ▶ Namespaceの階層化管理とリソース伝播機能を提供 ▶ kubectlプラグインとカスタムリソースによってNamespace/伝播するリソースの管理が可能 ▶ Rancherのプロジェクト機能との違い ▶

    Namespaceを多層で階層化することができる ▶ 伝播するリソース種別に制限が無い
  11. Accurate ▶ サイボウズ社のnecoチームにより開発 ▶ HNCの機能不⾜などを解決するために開発 ▶ Namespaceの階層化管理とリソース伝播機能を提供 ▶ kubectlプラグインとアノテーションによってNamespace/伝播するリソースの管理が可能 ▶

    その他HNCには無い以下のような機能がある ▶ Namespaceのテンプレート機能 ▶ 伝播するリソースのラベル/アノテーションの伝播 ▶ Rancherのプロジェクト機能との違い ▶ Namespaceを多層で階層化することができる ▶ 伝播するリソース種別に制限が無い ▶ Namespaceのテンプレート機能
  12. 各ツールの⽐較 3BODIFSϓϩδΣΫτػೳ "DDVSBUF )/$ ֊૚/BNFTQBDFͷૢ࡞ 3BODIFS6*͔Βૢ࡞ LVCFDUMϓϥάΠϯΛར༻ LVCFDUMϓϥάΠϯΛར༻ ࢠଙ/BNFTQBDFͷ࡞੒ʹ /BNFTQBDFͷ࡞੒ݖݶ͕ඞཁ͔ʁ

    ϓϩδΣΫτͷ࡞੒ݖݶͷΈ ෆཁ ෆཁ ʁະݕূ ఻೻͢ΔϦιʔεͷઃఆ 4FDSFUͷΈʁ ΦϓτΠϯํࣜ ɾ఻೻͍ͨ͠ϦιʔεछผΛ DPOpHͰઃఆ ɾࢦఆ͍ͨ͠ϦιʔεຖʹΞϊ ςʔγϣϯͰࢦఆ ΦϓτΞ΢τํࣜ ɾ఻೻͍ͨ͠ϦιʔεछผΛ $3Ͱઃఆ ɾσϑΥϧτͰࢦఆछผͷ Ϧιʔε͸શͯ఻೻͞ΕΔ ɾ఻೻ͨ͘͠ແ͍Ϧιʔε͸ ΞϊςʔγϣϯͰࢦఆ ࢠଙϦιʔε֎΁ͷ Ϧιʔε఻೻ػೳ ແ͠ ςϯϓϨʔτػೳʹΑΔ ఻೻͕Մೳ ແ͠ ϥϕϧɾΞϊςʔγϣϯͷ఻೻ 4FDSFUͷ࡞੒Ϧιʔε͸ ఻೻͞ΕΔ $POpHͰࢦఆͨ͠ΩʔͷΈ఻೻ ແ͠ ͩͬͨ͸ͣ 3BODIFSͷπʔϧͱͷ࿈ܞ ༗Γ ແ͠ ແ͠
  13. RancherにHNC/Accurateを⼊れた⽅が良い場合 ▶ Namespaceを多層的に階層化したい場合 ▶ Secret以外のリソースも伝播して管理したい場合 ▶ テンプレート機能などを使いリソース管理をより効率化したい場合(Accurate)

  14. まとめ ▶ Rancherのプロジェクト機能はプロジェクト毎のNamespaceのグループ管理機能や、それ に伴うユーザーの権限管理やツールとの連携などが⾏える ▶ こういったマルチテナント管理ツールには類似のツールとしてHNC/Accurateなどがある ▶ こういったツールとRancherのプロジェクト機能を⽐較するとリソース伝播機能の柔軟度 がRancherのプロジェクト機能よりも⾼いため、リソース管理の効率化のためのHNC/ Accurateなどを導⼊するのも良いかもしれないです

  15. 参考資料 ▶ Project Administration: https://rancher.com/docs/rancher/v2.6/en/project-admin/ ▶ Pod Security Policies: https://rancher.com/docs/rancher/v2.6/en/project-admin/pod-security-policies/

    ▶ Cluster and Project Roles: https://rancher.com/docs/rancher/v2.6/en/admin-settings/rbac/cluster-project-roles/ ▶ Project Resource Quotas: https://rancher.com/docs/rancher/v2.6/en/project-admin/resource-quotas/ ▶ Tools for Logging, Monitoring, and Visibility: https://rancher.com/docs/rancher/v2.6/en/project-admin/tools/ ▶ Accurate documentation: https://cybozu-go.github.io/accurate/ ▶ cybozu-go/accurate: https://github.com/cybozu-go/accurate ▶ Kubernetesのマルチテナントの現状を整理する: https://techstep.hatenablog.com/entry/2020/09/06/160435 ▶ Hierarchical Namespace で Namespace を階層構造に管理してオブジェクトを伝搬させる: https://amsy810.hateblo.jp/entry/2019/ 12/01/230822 ▶ HNC User Guide: https://github.com/kubernetes-sigs/hierarchical-namespaces/tree/v0.9/docs/user-guide ▶ KEP-1687: Hierarchical Namespaces As A Subproject: https://github.com/kubernetes/enhancements/blob/master/keps/sig- auth/1687-hierarchical-namespaces-subproject/README.md ▶ [PUBLIC] The Hierarchical Namespace Controller - Design: https://docs.google.com/document/d/ 10MZfFfbQMm33CBboMq2bfrEtXkJQQT4-UH4DDXZRrKY/edit#
  16. Thanks / Question? ▶ @bells17 ▶ Slide: https://speakerdeck.com/bells17 ▶ @bells17_