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

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

推薦する

アリババクラウドがAIトレーニング効率を11倍向上できるFeiTianインテリジェントコンピューティングプラットフォームを発表

8月30日、アリババクラウドはフルスタックインテリジェントコンピューティングソリューション「飛天イン...

VPS格安セール:123systems-256mメモリVPS年間支払い4.5ドル

安価な VPS「Unspeakable」を購入したいですか?お金をかけたくない、安ければ安いほどいい...

ブラック 5: webhostingbuzz-10% オフ/仮想ホスト/再販業者/7 USD 1 年

webhostingbuzz のブラックフライデーは早めに開催され、米国時間 26 日 13:00 ...

分散ロックについて語る - Redis と Redisson のやり方

[[424485]] 1. 分散ロックとは何ですか?分散ロックは、次のように読みます。最初に「分散」...

内容はなく、ただのナンセンスです!

皆さん、田舎者の言うことは正しいですよ!確かな情報がないから、ただのナンセンスを言うだけだ。まず、2...

ramnode3か月間、openvz/ssd キャッシュ/G ポートが 35% オフ

ramnode は 2009 年に設立された VPS プロバイダーですが、すでによく知られています。...

外部リンクが重要だという誤解を認識し、効率的な外部リンク作成テクニックを10個学びましょう

「コンテンツは王様、外部リンクは女王」というフレーズは、検索エンジンのランキングのアルゴリズムのルー...

Baidu がオリジナルコンテンツをどのように決定するかを確認し、オリジナルプロジェクトについて話し合います。

1. 検索エンジンはなぜ独創性を重視するのでしょうか? 1.1 広範なデータ収集Baidu の調査に...

#BlackWeek5# hostdime-25% オフ/完全管理 VPS+完全管理サーバー/ハイエンド コンピュータ ルーム

15 年間運営されている Hostdime も、ブラック フライデーに値下げプロモーションを実施し、...

A5インベントリ:長年にわたり315の打撃を受けたインターネット企業

2014年CCTV 315ガラが終了しました。これまでの315ガラで打撃を受けたインターネット企業を...

企業がSaaSコスト見積りで犯す4つの間違い

よく言われるように、悪魔は細部に宿ります。 SaaS 実装のコストを計算するときは、次のようなよくあ...

AiLi Women's Networkは新しいドメイン名aili.comを使用します

最近、中国の女性向け専門ウェブサイトでトップにランクされている愛里女性網が、ドメインwww.aili...

スマート ビジネス: 分散クラウド テクノロジーの秘密を探り、企業のビジネス価値を創造し、コストを削減し、生産性を向上させましょう。

クラウド コンピューティングがなければビジネスはどうなるか想像できますか?この質問に対する答えとして...

企業がクラウド変革のためにインテリジェント サービスを必要とする 6 つの理由

企業がクラウド コンピューティング テクノロジーを最大限に活用するには、特定の選択がもたらす影響を理...

5Gとエッジコンピューティングを組み合わせた新しいサービスモデルがモバイル通信事業者に新たなビジネスチャンスをもたらす

米国のモバイルネットワーク事業者ベライゾンは、5Gの最新の応用例を見つけるために、韓国の電子機器大手...