k9s を使用して Kubernetes クラスターの管理を簡素化しましょう。

k9s を使用して Kubernetes クラスターの管理を簡素化しましょう。

[51CTO.com クイック翻訳] 私が執筆する Kubernetes 管理記事では、通常、クラスターを管理するための kubectl コマンドについて言及しています。しかし、最近、k9s プロジェクトは Kubernetes の日常的な問題を迅速に確認して解決できると指摘する人もいます。この記事では、開始方法について説明します。

Mac、Windows、Linux にインストールできます。各オペレーティング システムの説明については、こちらをご覧ください。インストールが完了したら、次の手順に進みます。

私は Linux と Minikube を使用します。これは、個人のコンピューター上で Kubernetes を実行するための軽量な方法です。ドキュメントを使用してインストールするには、このチュートリアルに従ってください。

k9s設定ファイルを設定する

k9s アプリケーションをインストールしたら、help コマンドから始めるのが最適です。

  1. $ k9sヘルプ
  2. K9sCLIであり、  ビュー  Kubernetes クラスターを管理します
  3. 使用法:
  4. k9s [フラグ]
  5. k9s [コマンド]
  6. 使用可能なコマンド:
  7. ヘルプコマンドに関するヘルプ
  8. info 設定情報を印刷する
  9. バージョン バージョン/ビルド情報を印刷
  10. フラグ:
  11. -A, --all-namespaces すべての名前空間で K9 を起動します 
  12. --as 文字列 操作のために偽装するユーザー名 
  13. --as-group stringArray 操作のために偽装するグループ 
  14. --certificate-authority string 証明機関の証明書ファイルへのパス 
  15. --client-certificate string TLSのクライアント証明書ファイルへのパス 
  16. --client-key string TLSのクライアントキーファイルへのパス 
  17. --cluster string 使用するkubeconfigクラスターの名前 
  18. -c, --command 文字列 アプリケーションの起動時に表示するデフォルトのコマンドを指定します 
  19. --context string 使用するkubeconfigコンテキストの名前 
  20. --demo デモモードを有効にしてキーボードコマンドを表示します 
  21. --headless K9s ヘッダーをオフにする 
  22. -h, --help k9s のヘルプ 
  23. --insecure-skip-tls-verify trueの場合、サーバーのcaCertFileの有効性はチェックされません 
  24. --kubeconfig string CLIリクエストに使用するkubeconfigファイルへのパス 
  25. -l, --logLevel 文字列 ログレベルを指定します (info、warn、debug、error、fatal、panic、trace) (デフォルトは "info")  
  26. -n, --namespace 文字列 存在する場合、このCLIリクエストの名前空間スコープ 
  27. --readonly クラスターを変更するすべてのコマンドを無効にする 
  28. -r, --refresh int デフォルトのリフレッシュレートを整数(秒)で指定します(デフォルトは 2)  
  29. --request-timeout 文字列 単一のサーバー要求を放棄するまでの待機時間の長さ 
  30. --token string APIサーバーへの認証用のベアラートークン 
  31. --user string 使用するkubeconfigユーザーの名前 
  32. 「k9s [コマンド] --help」を使用します コマンドの詳細については、こちらをご覧ください

ご覧のとおり、k9s では多くの機能を設定できます。開始するための唯一のステップは、構成ファイルを作成することです。 info コマンドは、そのアプリケーションを探す場所を示します。

  1. $ k9s 情報
  2. ____ __.________
  3. | |/ _/ __ _______
  4. | < \____ / ___/
  5. | | \ / /\___ \
  6. |____|__ \ /____//____ >
  7. \/ \/
  8. 設定: /Users/jess/.k9s/config.yml
  9. ログ: /var/folders/5l/c1y1gcw97szdywgf9rk1100m0000gn/T/k9s-jess.log
  10. スクリーン ダンプ: /var/folders/5l/c1y1gcw97szdywgf9rk1100m0000gn/T/k9s-screens-jess
  11. ファイルを追加するには、ディレクトリを作成してから(以前に存在していない場合)、ディレクトリを追加します。
  12. $ mkdir -p ~/.k9s/
  13. $ ~/.k9s/config.yml をタッチします

ファイルを追加するには、ディレクトリを作成してから(以前に存在していない場合)、ディレクトリを追加します。

  1. $ mkdir -p ~/.k9s/  
  2. $ ~/.k9s/config.yml をタッチします

この記事では、k9s リポジトリのデフォルトの config.yml 推奨事項を使用します。メンテナーは、フォーマットは変更される可能性があると指摘しているため、最新バージョンはここから入手できます (https://github.com/derailed/k9s#k9s-configuration)。

  1. k9s:
  2. リフレッシュレート: 2
  3. ヘッドレス: false  
  4. 読み取り専用: false  
  5. アイコンなし: false  
  6. ロガー:
  7. 尻尾: 200
  8. バッファ: 500
  9. 経過秒数: 300
  10. フルスクリーンログ: false  
  11. テキストラップ: false  
  12. 表示時間: 
  13. 現在のコンテキスト: minikube
  14. 現在のクラスタ: minikube
  15. クラスター:
  16. ミニキューブ:
  17. 名前空間:
  18. アクティブ: ""  
  19. お気に入り:
  20. -全て 
  21. - kubeシステム
  22. -デフォルト 
  23. ビュー
  24. アクティブ: dp
  25. しきい値:
  26. CPU:
  27. クリティカル: 90
  28. 警告: 70
  29. メモリ:
  30. クリティカル: 90
  31. 警告: 70

ローカルの minikube 構成を検索するように k9s を設定したので、minikube がオンラインで使用可能であることを確認します。

  1. $ minikubeステータス
  2. ホスト: 実行中
  3. kubelet: 実行中
  4. apiserver: 実行中
  5. kubeconfig: 構成済み

k9s を実行して Kubernetes クラスターを探索する

構成ファイルが設定され、ローカル クラスターを指すようになったので、k9s コマンドを実行できるようになりました。

  1. $ k9s

k9s を起動すると、k9s のテキストベースのユーザー インターフェイス (UI) がポップアップ表示されます。名前空間フラグがない場合、デフォルトの名前空間内のポッドが表示されます。


図1

多数のポッドがある環境で実行している場合、デフォルトのビューは煩わしい場合があります。さらに、特定の名前空間に焦点を当てることもできます。アプリケーションを終了し、既存の名前空間である k9s -n を実行します。下の画像では、k9s -n minecraft を実行し、失敗したポッドが表示されています。


図2

したがって、k9s が起動すると、多くのことを迅速に処理できるようになります。

ショートカット キーを使用して、k9s を参照および制御できます。リストされた項目を選択するには、矢印キーと Enter キーをいつでも使用できます。さまざまなビューにアクセスするための共通キーは他にもいくつかあります。

0 - すべての名前空間内のすべてのポッドを表示します。


図3

d—選択したポッドについて説明します。


図4

l—選択したポッドのログを表示します。


図5

k9s は、J キーと K キーを使って上下に移動することを含め、Vim コマンド キーを使用するように設定されていることに気付いたかもしれません。

さまざまなKubernetesリソースをすばやく表示する

ポッドではないリソースを表示する必要がありますか?コロン (":") キーを入力した後に使用できるショートカットがいくつかあります。その後、以下のコマンドを使用して参照できます。

:svc – サービスビューにジャンプします。


図6

:deploy – デプロイメント ビューにジャンプします。


図7

:rb - ロールベースのアクセス制御 (RBAC) 管理のためのロール バインディング ビューにジャンプします。


図8

:namespace – 名前空間ビューに戻ります。


図9

:cj——スケジュールされたタスク ビューにジャンプして、クラスター内のスケジュールされたタスクを表示します。


図10

このアプリケーションで最も一般的なツールはキーボードです。ページ内を上下に移動するには、矢印キーを使用します。終了する必要がある場合は、Vim キーバインディングを使用することを忘れないでください。終了するには「q」と入力し、Enter キーを押します。

k9s を使用した Kubernetes のトラブルシューティングの例

何か問題が起きたとき、K9S はどのように助けてくれるのでしょうか?例として、構成ミスによりいくつかのポッドが失敗するようにしました。以下に、Hello デプロイメントがクラッシュしている様子を示します。ハイライトされたら、d を押して describe コマンドを実行し、失敗の原因を確認します。


図11


図12

出来事をざっと見ただけでは失敗の原因は分かりません。次に、Esc キーを押して、ポッドをハイライト表示して入力し、ログを確認しました。


図13

残念ながら、ログも何の役にも立ちません (おそらくデプロイメントが正しく構成されていないため)。ポッドは起動しません。

次に、Esc キーを押して終了し、ポッドを削除すると問題が解決するかどうかを確認しました。これを行うには、ポッドを強調表示して使用しました。 k9s は削除する前にユーザーにプロンプ​​トを表示します。


図14

ポッドを削除しましたが、デプロイメント リソースはまだ存在するため、新しいポッドが表示されます。また、何らかの理由で(まだ不明ですが)再起動とクラッシュが続くことになります。

問題を解決するには、ログを繰り返し確認し、リソースを説明し、e ショートカットを使用して実行中のポッドを編集します。この特定のケースでは、障害が発生したポッドはその環境で実行するように構成されていませんでした。そこで、発生しているクラッシュと再起動のループを停止するために、デプロイメントを削除しましょう。

「deploy」と入力して Enter キーを押すと、デプロイメントに入ることができます。その後、それをハイライトして Delete キーを押します。


図15


図16

これはデプロイメントがなくなったことを証明します。この壊れたデプロイメントをクリーンアップするには、数回のキー操作だけが必要です。

k9sは柔軟にカスタマイズ可能

その結果、アプリには UI の配色に至るまで、多数のカスタマイズ オプションが用意されています。興味があるかもしれない編集可能なオプションをいくつか紹介します。

  • config.ymlファイルの場所を調整する
  • alias.yml ファイルにカスタムエイリアスを追加する
  • hotkey.ymlファイルでカスタムホットキーを作成する
  • 利用可能なプラグインを調べるか、独自のプラグインを作成してください

アプリケーション全体は YAML ファイルで構成されているため、Kubernetes 管理者なら誰でも簡単にカスタマイズできます。

原題: k9s で Kubernetes クラスターの管理を高速化、著者: Jessica Cherry

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  IBM社長ジム・ホワイトハースト:ハイブリッドクラウドで大規模なイノベーションを加速

>>:  クラウド最適化に関する包括的な理解を提供します

推薦する

クラウドコンピューティングのコスト削減に関する主な誤解

月曜日に開催された MIT スローン CIO シンポジウムでは、専門家のパネルが、クラウド コンピュ...

extravm: ロシアの VPS、月額 5 ドル、KVM 仮想化/1G メモリ/1 コア (Ryzen 3700X)/15g NVMe/500g トラフィック

extravm についてご存知の方もいるでしょう。同社は主に、OVH コンピュータ ルームのさまざま...

IoT革命: エッジコンピューティングの力

エッジ コンピューティングは、モノのインターネット (IoT) におけるデータの処理および管理の方法...

オンラインでお試しください! 3ステップでHarmonyOSの分散タスクスケジューリングを完了

[[402801]]詳細については、以下をご覧ください。 51CTOとHuaweiが共同で構築したH...

Shinjiru - 苦情防止VPSホスト - 半額セールと半額プレゼント

Shinjiru Technology は 2000 年から運営されており、経験豊富で、安定性と信頼...

地域拠点起業シリーズ企画分析

みなさんこんにちは。私はCaogen Geです。前回のローカルサイト起業に関するくだらない記事では、...

Ceph 分散ストレージ クラスターの簡単な紹介

Ceph 分散ストレージ クラスター環境を計画する場合、ハードウェアの選択は Ceph クラスター全...

Silu.comの調査は海賊版サイトの閉鎖の波を引き起こし、多くのサイトが自発的に閉鎖された。

新浪テクノロジー 張南中国最大の高画質海賊版ポータルサイトが警察によって閉鎖され、国内の多数の海賊版...

まだ仮想化に抵抗していますか?仮想化技術に関する4つの誤解

コンピュータ ハードウェアの仮想化が産業用アプリケーションでその価値を証明するにつれて、ますます多く...

#バレンタインデー# alpharacks-VPS/年会費8ドル/メモリ640m/quadranetロサンゼルスデータセンター

Alpharacks のバレンタインデー プロモーションでは、超格安の再販ホスト、低価格の Open...

bigbrainglobal-生涯60%割引/Onapp

Bigbrainglobal は、米国バージニア州に拠点を置く高品質のプライベート IDC です。現...

Baidu News Sourceが収集したもの

8月28日、百度ウェブマスタープラットフォームはニュースソースの組み込みに関する完全な声明を発表しま...

外部リンクを構築するための3つのステップ

無意識のうちに、私は長い間外部リンクを貼る作業をしていませんでした。私の現在の仕事は、プロモーション...

有料リンクに関するGoogleの公式見解

12月1日、マット・カッツ氏は自身のブログとGoogleウェブマスターツールのブログに記事を投稿し、...