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

k8sリソースの可視化・操作ツール(OSS)

 k8sリソースの可視化・操作ツール(OSS)

hiropinponpan

August 24, 2020
Tweet

More Decks by hiropinponpan

Other Decks in Technology

Transcript

  1. マスター タイトルの書式設定 今回のテーマ 3  課題感 • k8sリソース全体をkubectl CLIだけで把握や操作するのはシンドイ •

    GUIツール(OSS)を使って効率的にk8sリソースの可視化や操作が行いたい  今回取り上げるk8s GUIツール(OSS)達 • Kubernetes Dashboard • OCTANT • Lens  補足 • 今回のテーマは、observabilityがメインの目的では無いのと、k8sリソースの操作も 行えるツールをスコープとしたので、メトリクス・ログ監視で良く聞くgrafanaや、ト レーシング・サービスメッシュ界隈で良く聞くkialiなどは、対象としない事とする
  2. マスター タイトルの書式設定 OSSなk8s GUIツール達 4 Kubernetes Dashboard OCTANT Lens Overview

    Web based UI tool Desktop/Client application The Kubernetes IDE Github kubernetes/dashboard vmware-tanzu/octant lensapp/lens Initial release V0.1.0 (Feb 4,2016) V0.1.0 (Nov 20,2018) V2.70 (Dec 3,2019) Star 8.3k 4.3k 7.3k Fork 2.4k 288 344 Contributors 246 44 26 Issues 89 169 254 commits 3,234 2,374 175 Authentication Token(一時認証) or Kubeconfig(Webアクセス時に 指定) Kubeconfig(OCTANTプロセス起 動時に読み込み) Kubeconfig(Lensプロセス起動 後のメニューで指定) 2020年8月12日時点 ↑ ・2020年3月にOSS公開 ・2020年8月13日にMirantisが取得(買収) ↑ ? Githubで遡れるバージョン
  3. マスター タイトルの書式設定 Kubernetes Dashboard 6  Kubernetes Dashboardの個人的な所感 • Kubernetes

    Dashboard用(GUIサーバ) Podをk8sクラスタ内に立てる必要あり • 閲覧専用と思いきや、簡易(限定)的なk8sリソース作成も可能 • k8sリポジトリ(プロジェクト)直下のGUIツールというお墨付き? ※kubernetes Dashboard自体がセキュリティホールになる可能性が あるので使わない方が良いと言っている人達もいる
  4. マスター タイトルの書式設定 7 Kubernetes Dashboard > とあるWorkloadsを表示 ← 一通りのk8sリソースの可視化が可能 metric-server(任意にセットアップ)経由でCPU/MEM使用率も可視化出来る

    ↓ Dashboard Version 2.0.0で試行 (2020年8月11日時点の最新は2.0.3) ↑ Namespace切替 サンプルアプリ(https://istio.io/latest/docs/examples/bookinfo/)
  5. マスター タイトルの書式設定 OCTANT 10  OCTANTの個人的な所感、目に留まった機能  Pod Log確認 

    Pod Shell操作  Context Switch ※kubeconfigの切り替え  Resource Viewer ※k8sリソースの相関を可視化  Plugin ※OCTANT GUIの拡張  etc • Proxy Setting • RBACによる認可制限はクセあり • **
  6. マスター タイトルの書式設定 OCTANT > Pod Log確認 11 特定Podのログ ↓ OCTANT

    Version 0.14.1で試行 (2020年8月10日時点の最新) ←Light/Darkモードの切り替え
  7. マスター タイトルの書式設定 OCTANT > Resource Viewer 14 ←Deployment ←ReplicaSet ←Pod

    ←SA、Secret ←Service サンプルアプリ (https://istio.io/latest/docs/examples/bookinfo/)
  8. マスター タイトルの書式設定 OCTANT > Plugin ( helm、velero、starboardなど) 15 ←octant-plugin (https://github.com/topics/octant-plugin)

    2020年8月13日時点で11個のpublic repositories ↑ starboard-octant-plugin中のkube-hunter reportの表示例
  9. マスター タイトルの書式設定 OCTANT > RBACによる認可制限はクセあり 16 ←RBACで閲覧制限をしていても 一通りの画面遷移は出来る ↑ ・実際はReplicaSetは存在していもRBACで閲覧制限をしている為、

    表示されない。 ・k8sリソースが実在しないのか、RBAC権限で閲覧出来ないだけなの かの見分けがつかないので、RBAC制限は注意が必要。
  10. マスター タイトルの書式設定 Lens 18  Lensの個人的な所感、目に留まった機能  Pod Log確認 

    PodやNodeのShell操作、ローカルPCのTerminal操作との統合  Context Switch ※kubeconfig(k8sクラスタ)の切り替え  Replica数の変更  NodeやPodの一部操作 ※Cordon、Drain、Edit、Deleteなど  Helm Chartの操作  etc • Proxy Setting • RBACによる認可制限はクセあり • Prometheusの統計機能が内蔵 • **
  11. マスター タイトルの書式設定 19 ログのダウンロードも出来る ↓ Lens > Pod Log確認 Lens

    Version 3.5.2で試行 (2020年8月10日時点の最新) ←Darkモード表示(Lightモードも可)
  12. マスター タイトルの書式設定 まとめ 26 • k8sリソースの可視化、logs確認、shell操作で有効 • k8sリソースの作成、更新、削除で有効 • 開発・運用者向けのGUIツール

    (GUI自体のID認証機能は現時点で無いので) OCTANT Lens Kubernetes Dashboard • k8sリソースの可視化に割り切って利用 • 専用Pod作成やセキュリティホールのリスクを考慮 (使うにしても閉域NW内に限定したほうが良い)