Kubernetes の GUI の抂芁

Kubernetes の GUI の抂芁

システムを䜿った本栌的な䜜業には、コマンド ラむン ナヌティリティに関する知識が重芁です。Kubernetes の堎合、これは kubectl です。 䞀方、適切に蚭蚈され、思慮深いグラフィカル むンタヌフェむスは、次のようなパフォヌマンスを実珟したす。П通垞のタスクのほずんどを実行できるようになり、システム運甚の远加の機䌚が広がりたす。

昚幎、翻蚳を出版したした Web UI の抂芁 Kubernetes 向け、Web むンタヌフェむスの発衚ず同時期に提䟛 Kubernetes WebView。 その蚘事ずナヌティリティ自䜓の著者である Zalando の Henning Jacobs は、新補品を「Web 甹 kubectl」ず䜍眮づけただけです。 圌は、テクニカル サポヌト圢匏での察話 (Web リンクで問題を迅速に衚瀺するなど) や、むンシデントに察応し、倚くのクラスタヌの問題を同時に怜玢するための、ナヌザヌ フレンドリヌな機胜を備えたツヌルを䜜成したいず考えおいたした。 圌の子孫は珟圚䞻に著者自身の努力によっお成長しおいたす。

私たちはさたざたなサむズの倚くの Kubernetes クラスタヌにサヌビスを提䟛しおいるため、お客様に芖芚的なツヌルを提䟛できるこずにも関心がありたす。 適切なむンタヌフェむスを遞択する際には、次の機胜が重芁でした。

  • ナヌザヌ暩利の差別化 (RBAC) のサポヌト。
  • 名前空間の状態ず暙準の Kubernetes プリミティブ (Deployment、StatefulSet、Service、Cronjob、Job、Ingress、ConfigMap、Secret、PVC) の芖芚化。
  • ポッド内のコマンドラむンにアクセスする。
  • ポッドのログの衚瀺。
  • ポッドのステヌタスを衚瀺する (describe status);
  • ポッドを削陀しおいたす。

消費されたリ゜ヌスの衚瀺 (ポッド/コントロヌラヌ/名前空間のコンテキストで)、K8 プリミティブの䜜成/線集などの他の機胜は、ワヌクフロヌ内では関係ありたせん。

私たちの暙準であるクラシックな Kubernetes ダッシュボヌドからレビュヌを開始したす。 䞖界は静止しおいないので (぀たり、Kubernetes には新しい GUI がどんどん増えおいるずいうこずです)、珟圚の代替手段に぀いおも説明し、蚘事の最埌にある比范衚にすべおをたずめたす。

NB: このレビュヌでは、すでに怜蚎されおいる解決策に぀いおは繰り返したせん。 前の蚘事ただし、完党を期すために、それに関連するオプション (K8Dash、Octant、Kubernetes Web View) が最終的な衚に含たれおいたす。

1. Kubernetes ダッシュボヌド

  • ドキュメントペヌゞ;
  • リポゞトリ (GitHub スタヌ 8000 個以䞊);
  • ラむセンス: Apache 2.0;
  • 䞀蚀で蚀えば、「Kubernetes クラスタヌ甚のナニバヌサル Web むンタヌフェむス。 これにより、ナヌザヌはクラスタヌ自䜓を管理するだけでなく、クラスタヌ内で実行されおいるアプリケヌションの管理ずトラブルシュヌティングも行うこずができたす。」

Kubernetes の GUI の抂芁

これは、Kubernetes の䜜成者が公匏ドキュメントで取り䞊げおいる汎甚パネルです。 しかし 展開䞍可 デフォルト。 これは、クラスタヌ内のアプリケヌションの日垞的な操䜜ずデバッグのニヌズに合わせお蚭蚈されおいたす。 自宅では、開発者にクラスタヌぞの必芁か぀十分なアクセスを提䟛できる、本栌的な軜量ビゞュアル ツヌルずしおこれを䜿甚しおいたす。 その機胜は、クラスタヌの䜿甚過皋で発生するすべおのニヌズをカバヌしたす。 䞭 この蚘事 パネルのいく぀かの機胜をデモンストレヌションしたした)。 ご想像のずおり、これは䞊蚘の芁件をすべお満たしおいるこずを意味したす。

Kubernetes ダッシュボヌドの䞻な機胜には次のようなものがありたす。

  • ナビゲヌション: 名前空間のコンテキストで K8 の䞻芁なオブゞェクトを衚瀺したす。
  • 管理者暩限がある堎合、パネルにはノヌド、ネヌムスペヌス、および氞続ボリュヌムが衚瀺されたす。 ノヌドの堎合、メモリ、プロセッサ、リ゜ヌス割り圓お、メトリクス、ステヌタス、むベントなどの䜿甚に関する統蚈が利甚可胜です。
  • 名前空間にデプロむされたアプリケヌションを、そのタむプ (Deployment、StatefulSet など)、それらの間の関係 (ReplicaSet、氎平ポッド オヌトスケヌラヌ)、䞀般的およびパヌ゜ナラむズされた統蚈ず情報別に衚瀺したす。
  • サヌビスず Ingress、およびそれらずポッドおよび゚ンドポむントずの関係を衚瀺したす。
  • ファむル オブゞェクトずストレヌゞを衚瀺したす: Persistent Volume ず Persistent Volume Claim。
  • ConfigMap ず Secret を衚瀺および線集したす。
  • ログを衚瀺したす。
  • コンテナヌでのコマンド ラむン アクセス。

重倧な欠点 (ただし、私たちにずっおはそうではありたせん) は、マルチクラスタヌ䜜業がサポヌトされおいないこずです。 このプロゞェクトはコミュニティによっお積極的に開発されおおり、Kubernetes API の新しいバヌゞョンず仕様のリリヌスに関連する機胜を維持しおいたす。パネルの最新バヌゞョンは次のずおりです。 v2.0.1 22 幎 2020 月 1.18 日 - Kubernetes XNUMX ずの互換性をテストしたした。

2。 レンズ

Kubernetes の GUI の抂芁

このプロゞェクトは、Kubernetes の完党な統合開発環境 (IDE) ずしお䜍眮付けられおいたす。 さらに、倚数のクラスタヌずその䞭で実行される倚数のポッドで動䜜するように最適化されおいたす (25 個のポッドでテスト枈み)。

レンズの䞻な特城/機胜:

  • クラスタヌ内に䜕もむンストヌルする必芁のないスタンドアロン アプリケヌション (より正確には、すべおのメトリクスを取埗するために Prometheus が必芁ですが、これには既存のむンストヌルを䜿甚するこずもできたす)。 「メむン」むンストヌルは、Linux、macOS、たたは Windows を実行しおいるパヌ゜ナル コンピュヌタヌ䞊で行われたす。
  • マルチクラスタヌ管理 (数癟のクラスタヌをサポヌト)。
  • クラスタヌの状態をリアルタむムで芖芚化したす。
  • 組み蟌みの Prometheus に基づいたリ゜ヌス䜿甚量のグラフず履歎ず傟向。
  • コンテナヌおよびクラスタヌノヌドのコマンドラむンぞのアクセス。
  • Kubernetes RBAC の完党なサポヌト。

珟圚のリリヌス - 3.5.0 16 幎 2020 月 XNUMX 日付け もずもず Kontena によっお䜜成されたしたが、珟圚、すべおの知的財産は特別な組織に譲枡されおいたす レむケンド研究所、「クラりドネむティブのオタクず技術者の連合」ず呌ばれ、「Kontenaのオヌプン゜ヌス゜フトりェアず補品の保存ず可甚性」を担圓しおいたす。

Lens は、GitHub 䞊で GUI for Kubernetes カテゎリの䞭で XNUMX 番目に人気のあるプロゞェクトであり、Kubernets ダッシュボヌド自䜓だけが「負け」おいたす。 CLI* カテゎリ以倖の他のすべおのオヌプン゜ヌス ゜リュヌションは、人気が倧幅に劣りたす。

※K9sに぀いおはレビュヌのおたけ郚分をご芧ください。

3. クバネティック

Kubernetes の GUI の抂芁

これは、パヌ゜ナルコンピュヌタにむンストヌルされる独自のアプリケヌションですLinux、macOS、Windowsをサポヌト。 その䜜成者は、コマンド ラむン ナヌティリティを完党に眮き換えるこずを玄束しおいたす。これにより、コマンドを芚える必芁がなく、さらには速床が XNUMX 倍向䞊したす。

このツヌルの興味深い機胜の XNUMX ぀は、Helm チャヌトのサポヌトが組み蟌たれおいるこずですが、欠点の XNUMX ぀は、アプリケヌションのパフォヌマンス メトリックが欠劂しおいるこずです。

Kubernetic の䞻な機胜:

  • クラスタヌのステヌタスを䟿利に衚瀺したす。 関連するすべおのクラスタヌ オブゞェクトずその䟝存関係を XNUMX ぀の画面で衚瀺したす。 èµ€/緑のすべおのオブゞェクトの準備状況。 リアルタむムのステヌタス曎新を備えたクラスタ ステヌタス ビュヌ モヌド。
  • アプリケヌションの削陀ずスケヌリングのためのクむック アクション ボタン。
  • マルチクラスタヌ操䜜のサポヌト。
  • 名前空間を䜿った簡単な䜜業。
  • Helm チャヌトず Helm リポゞトリ (プラむベヌト リポゞトリを含む) のサポヌト。 Web むンタヌフェむスでのチャヌトのむンストヌルず管理。

この補品の珟圚のコストは、30 人が任意の数の名前空間ずクラスタヌに察しお䜿甚する堎合、XNUMX ナヌロの XNUMX 回限りの支払いです。

4.クベビアス

  • Сайт;
  • プレれンテヌション;
  • リポゞトリ (GitHub スタヌ玄 500 個);
  • ラむセンス: Apache 2.0
  • 䞀蚀で蚀えば、「Kubevious は、Kubernetes クラスタヌ、アプリケヌション構成、ステヌタス衚瀺を安党か぀理解しやすくしたす。」

Kubernetes の GUI の抂芁

このプロゞェクトのアむデアは、クラスタヌにデプロむされたアプリケヌション構成を分析およびデバッグするように蚭蚈されたツヌルを䜜成するこずです。 著者は䞻にこれらの機胜の実装に焊点を圓お、より䞀般的な内容に぀いおは埌回しにしたした。

Kubevious の䞻な特城ず機胜:

  • アプリケヌション䞭心の方法でのクラスタヌの芖芚化: むンタヌフェむス内の関連オブゞェクトがグルヌプ化され、階局内に䞊べられたす。
  • 構成内の䟝存関係ずその倉曎による連鎖的な圱響を芖芚的に衚瀺したす。
  • クラスタヌ構成゚ラヌの衚瀺: ラベルの誀甚、欠萜したポヌトなど。 (ちなみに、この機胜に興味がある方は、 ポラリスそれに぀いお私たちは すでに曞いた.)
  • 前の点に加えお、朜圚的に危険なコンテナの怜出も利甚できたす。 暩限属性が倚すぎる hostPID, hostNetwork, hostIPC、マりント docker.sock 等。
  • クラスタヌの高床な怜玢システム (オブゞェクトの名前だけでなく、そのプロパティによっおも)。
  • 容量蚈画ずリ゜ヌス最適化のためのツヌル。
  • 組み蟌みの「タむムマシン」オブゞェクトの構成における以前の倉曎を確認する機胜。
  • ロヌル、ロヌルバむンディング、サヌビスアカりントのピボット盞互関連テヌブルを䜿甚した RBAC 管理。
  • XNUMX ぀のクラスタヌのみで動䜜したす。

このプロゞェクトの歎史は非垞に浅く (最初のリリヌスは 11 幎 2020 月 XNUMX 日に行われたした)、開発が安定するか枛速する時期があったようです。 以前のバヌゞョンが頻繁にリリヌスされた堎合は、最新のリリヌス (v0.5 15 幎 2020 月 4 日は、圓初の開発ペヌスより遅れおいたす。 これはおそらく、貢献者の数が少ないためです。リポゞトリの歎史の䞭で貢献者は XNUMX 人だけで、実際の䜜業はすべお XNUMX 人によっお行われたす。

5.キュヌブワむズ

  • プロゞェクトペヌゞ;
  • ラむセンス: プロプラむ゚タリ (オヌプン゜ヌスになる予定)。
  • 䞀蚀で蚀えば、「Kubernetes 甚のシンプルなマルチプラットフォヌム クラむアント」です。

Kubernetes の GUI の抂芁

VMware の新補品で、元々は瀟内ハッカ゜ン (2019 幎 XNUMX 月) の䞀環ずしお䜜成されたした。 パ゜コンにむンストヌルしお動䜜したす。 電子 (Linux、macOS、Windows をサポヌト) kubectl v1.14.0 以降が必芁です。

Kubewise の䞻な特城:

  • 最も䞀般的に䜿甚される Kubernetes ゚ンティティ (ノヌド、名前空間など) ずのむンタヌフェむス察話。
  • 異なるクラスタヌの耇数の kubeconfig ファむルのサポヌト。
  • 環境倉数を蚭定できる端末 KUBECONFIG.
  • 指定された名前空間のカスタム kubeconfig ファむルを生成したす。
  • 高床なセキュリティ機胜 (RBAC、パスワヌド、サヌビス アカりント)。

これたでのずころ、プロゞェクトにはリリヌスが XNUMX ぀だけありたす - バヌゞョン 1.1.0 26幎2019月2020日付け。 さらに、䜜者はそれをすぐにオヌプン゜ヌスずしおリリヌスするこずを蚈画しおいたしたが、技術的な問題ずは関係のない内郚の問題により、これを行うこずができたせんでした。 XNUMX 幎 XNUMX 月の時点で、䜜成者は次のリリヌスに取り組んでおり、同時にコヌドオヌプンプロセスを開始する必芁がありたす。

6. OpenShift コン゜ヌル

Kubernetes の GUI の抂芁

この Web むンタヌフェむスは OpenShift ディストリビュヌションの䞀郚であるずいう事実にもかかわらず (それは OpenShift ディストリビュヌションを䜿甚しおそこにむンストヌルされたす) 特殊な挔算子、著者 提䟛したした 通垞の (バニラ) Kubernetes むンストヌルでむンストヌル/䜿甚できる機胜。

OpenShift コン゜ヌルは長い間開発されおきたため、倚くの機胜が組み蟌たれおいたす。 䞻なものに぀いお説明したす。

  • 共有むンタヌフェむスのアプロヌチ - コン゜ヌルで利甚できる可胜性の XNUMX ぀の「芖点」: 管理者甚ず開発者甚。 モヌド 開発者の芖点 (アプリケヌションごずに) 開発者にずっお理解しやすい圢匏でオブゞェクトをグルヌプ化し、アプリケヌションのデプロむ、ビルド/デプロむ ステヌタスの远跡、さらには Eclipse Che を介したコヌドの線集などの䞀般的なタスクの解決にむンタヌフェむスを集䞭させたす。
  • ワヌクロヌド、ネットワヌク、ストレヌゞ、アクセス暩の管理。
  • ワヌクロヌドをプロゞェクトずアプリケヌションに論理的に分離したす。 最新リリヌスの 4.3 ぀ - vXNUMX - 登堎 特別な プロゞェクトダッシュボヌド、通垞のデヌタ (デプロむメント、ポッドなどの数ずステヌタス、リ゜ヌス消費量およびその他のメトリクス) がプロゞェクト スラむスに衚瀺されたす。
  • クラスタヌの状態、クラスタヌ内で発生した倉曎 (むベント) がリアルタむムで曎新されたす。 ログの衚瀺。
  • Prometheus、Alertmanager、Grafana に基づく監芖デヌタを衚瀺したす。
  • に代衚されるオペレヌタヌの管理 オペレヌタヌハブ.
  • Docker を介しお (Dockerfile を䜿甚しお指定されたリポゞトリから) 実行されるビルドを管理したす。 S2I たたは任意の倖郚ナヌティリティ。

NB: 他は比范察象に加えたせんでした Kubernetes ディストリビュヌション たずえば、あたり知られおいないのですが、 キュヌブスフィア): GUI は非垞に高床なものであるにもかかわらず、通垞は倧芏暡システムの統合スタックの䞀郚ずしお提䟛されたす。 ただし、バニラの K8s むンストヌルで完党に機胜する十分な゜リュヌションがないず思われる堎合は、コメントでお知らせください。

ボヌナス

1. ベヌタ版 Kubernetes の Portainer

Porttainer チヌムによるプロゞェクト。Docker を操䜜するための同名の人気のあるむンタヌフェむスを開発したした。 プロゞェクトは開発の初期段階にあるため最初で唯䞀のベヌタ版 出おきた 16 幎 2020 月 XNUMX 日、機胜の評䟡は行っおいたせん。 しかし、これは倚くの人にずっお興味深いものかもしれたせん。これがあなたに関するものであれば、展開を远っおください。

2.アむスパネル

  • Сайт;
  • ラむセンス: 独自のラむセンス。
  • 䞀蚀で蚀えば、「Visual Kubernetes Editor」です。

Kubernetes の GUI の抂芁

この若いデスクトップ アプリケヌションは、シンプルなドラッグ アンド ドロップ むンタヌフェむスを䜿甚しお、Kubernetes リ゜ヌスをリアルタむムで芖芚化しお管理するこずを目的ずしおいたす。 珟圚サポヌトされおいるオブゞェクトは、Pod、Service、Deployment、StatefulSet、PersistentVolume、Persistent VolumeClaim、ConfigMap、および Secret です。 間もなく、圌らは Helm のサポヌトを远加するず玄束したす。 䞻な欠点は、コヌドが密集しおいるこずです (これは予想されるこずです)。 オヌプニング「䜕らかの圢で」および Linux サポヌトの欠劂珟時点では Windows ず macOS のバヌゞョンのみが利甚可胜ですが、これも時間の問題である可胜性が高いです。

3.k9s

Kubernetes の GUI の抂芁

このナヌティリティは、コン゜ヌル GUI を提䟛するずいう理由で、レビュヌのおたけ郚分にのみ含たれおいたした。 しかし、䜜者は文字通りタヌミナルの胜力を最倧限に絞り出し、ナヌザヌフレンドリヌなむンタヌフェむスだけでなく、6 ぀の事前定矩されたテヌマ、キヌボヌド ショヌトカットずコマンド ゚むリアスの高床なシステムも提䟛したした。 圌らの培底したアプロヌチは倖芳だけに限定されたせんでした。k9s の機胜は心地よく印象的です。リ゜ヌス管理、クラスタヌの状態の衚瀺、䟝存関係を含む階局衚珟でのリ゜ヌスの衚瀺、ログの衚瀺、RBAC サポヌト、プラグむンによる機胜の拡匵...これらすべおが魅力的でした。幅広い K8s コミュニティぞ: その数 このプロゞェクトの GitHub スタヌは、公匏の Kubernetes ダッシュボヌドずほが同じくらい優れおいたす。

4. アプリケヌションコントロヌルパネル

そしおレビュヌの最埌には、別のミニカテゎリが衚瀺されたす。 これには、Kubernetes クラスタヌの包括的な管理ではなく、クラスタヌにデプロむされおいるものを管理するために蚭蚈された XNUMX ぀の Web むンタヌフェむスが含たれおいたした。

ご存知のずおり、Kubernetes で耇雑なアプリケヌションをデプロむするための最も成熟し広く普及しおいるツヌルの XNUMX ぀は Helm です。 その存圚期間を通じお、デプロむを容易にするための倚くのパッケヌゞ (Helm チャヌト) が蓄積されおきたした。 倚くの人気のあるアプリケヌション。 したがっお、チャヌトのラむフサむクルを管理できる適切なビゞュアル ツヌルの登堎は非垞に合理的です。

4.1.単県

  • リポゞトリ (GitHub スタヌ 1300 個以䞊);
  • ラむセンス: Apache 2.0;
  • 簡単に蚀うず、「耇数のリポゞトリにわたる Helm チャヌトを怜玢および怜出するための Web アプリケヌション」です。 Helm ハブ プロゞェクトの基瀎ずしお機胜したす。」

Kubernetes の GUI の抂芁

Helm の䜜成者によるこの開発は Kubernetes にむンストヌルされ、同じクラスタヌ内で動䜜しおタスクを実行したす。 しかし、珟時点ではそのプロゞェクトはほずんど進んでいない。 その䞻な目的は、Helm Hub の存圚をサポヌトするこずです。 その他のニヌズに぀いおは、著者は Kubeapps (以䞋を参照) たたは Red Hat Automation Broker (OpenShift の䞀郚ですが、珟圚は開発されおいたせん) を掚奚しおいたす。

4.2. クベアプリ

Kubernetes の GUI の抂芁

Bitnami の補品。これも Kubernetes クラスタヌにむンストヌルされたすが、最初にプラむベヌト リポゞトリの操䜜に重点を眮いおいる点で Monocular ずは異なりたす。

Kubeapps の䞻な機胜ず特城:

  • リポゞトリから Helm チャヌトを衚瀺しおむンストヌルしたす。
  • クラスタヌにむンストヌルされおいる Helm ベヌスのアプリケヌションを確認、曎新、削陀したす。
  • カスタムおよびプラむベヌト チャヌト リポゞトリのサポヌト (ChartMuseum および JFrog Artifactory をサポヌト)。
  • サヌビス カタログおよびサヌビス ブロヌカヌからの倖郚サヌビスの衚瀺ず操䜜。
  • Service Catalog Bindings メカニズムを䜿甚しお、むンストヌルされたアプリケヌションを公開したす。
  • RBAC を䜿甚した認蚌ず暩利の分離のサポヌト。

ファむナルテヌブル

以䞋は、比范を容易にするために、既存のビゞュアル むンタヌフェむスの䞻な機胜を芁玄しお集蚈した抂芁衚です。

Kubernetes の GUI の抂芁
(オンラむン版の衚 Google ドキュメントで利甚可胜.)

たずめ

Kubernetes の GUI は、かなり特殊で若いニッチです。 ただし、開発は非垞に掻発に行われおおり、非垞に成熟した゜リュヌションず、ただ成長の䜙地がある非垞に若い゜リュヌションの䞡方を芋぀けるこずがすでに可胜です。 さたざたな甚途に察応し、ほがすべおの奜みに合う機胜ず倖芳を提䟛したす。 このレビュヌが珟圚のニヌズに最適なツヌルの遞択に圹立぀こずを願っおいたす。

PS

ありがずう クノァプス OpenShift コン゜ヌルのデヌタに぀いおは比范衚をご芧ください。

私たちのブログもお読みください:

出所 habr.com

コメントを远加したす