20 を超える Kubernetes クラスターと 400 台のマシンを管理する秘訣は何ですか?

20 を超える Kubernetes クラスターと 400 台のマシンを管理する秘訣は何ですか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discovery)から転載したものです。

私は 3 年以上にわたって大規模な Kubernetes クラスターを運用環境で管理してきましたが、私のアプローチは日々効果的であることが証明されています。この記事では、kubectl ターミナル設定の最小限の方法を紹介します。

適切にカスタマイズされたコマンド ライン ターミナルは生産性を大幅に向上させます。これは、すべての魔法が起こる中核です。しかし、一般的なコマンドラインのカスタマイズや機能豊富なアップグレードと比較すると、シンプルなセットアップにより、あらゆる種類の新しいバイナリ、ラッパー、または変更をインストールする際の時間と労力が大幅に節約されると思います。特に kubectl を使用する場合、ネイティブ ツールは適切に設計されており、解決すべき問題はほとんどありません。

以下は、kubectl ターミナルに追加した 4 つの簡単な機能です。この設定により、毎日 400 台以上のマシンを備えた 20 を超える大規模な Kubernetes クラスターを管理できます。

[[348572]]

「kubetail」を使用して複数の Pod インスタンスのログ ファイルを表示する

kubectl を使用するときに最初に気付くことの 1 つは、複数のインスタンスにまたがるログ ファイルを表示するのが難しいことです。これは最も一般的な使用例の 1 つですが、kubectl では使用できません。 kubectl 上の単一のポッドのログを見ると、次のようになります。

  1. kubectlログ-f <POD_NAME> -n <名前空間>  

kubetail で複数のポッドのログを表示するには、以下を使用します。

  1. 画像ソース: unsplashkubetail < POD_NAME_REGEX > -n < NAMESPACE >  

これにより、名前が正規表現に一致するすべてのポッド ログ ファイルが監視されます。ログ記録は複数のポッドにまたがるため、kubetail はさまざまな色を使用して、さまざまなログ ファイルを区別して分析できるようにします。

画像クレジット: コマル・ベンカテシュ・ガネーサン

kubetail は、まさにそれを実行する kubectl 上のシンプルなラッパーです。

デフォルトの名前空間を動的に変更する

個々の kubectl 操作ごとに名前空間の指示を繰り返し提供すると、時間がかかり、非効率的になります。この問題を解決するには、デフォルトの名前空間を動的に設定および変更する方法が必要です。

以下は、まさにそれを実行する ksn という私が作成した単純なエイリアス関数です (ksn は set namespace の略です)。

画像クレジット: コマル・ベンカテシュ・ガネーサン

画像クレジット: コマル・ベンカテシュ・ガネーサン

多くの場合、私たちの仕事は、手元のタスクに応じて、多数の名前空間にまたがります。したがって、kafka の問題をトラブルシューティングする場合、10 個のコマンドのうち 8 個が Kafka 名前空間に送信されます。この間、デフォルトの名前空間になります。これにより、特に多数の kubectl コマンドを発行する必要がある複雑なワークロードを処理する場合に、多くの時間を節約できます。

シェルコマンドプロンプトに「kube-context」と「namespace」を表示する

kubectl コマンドを発行するときは、常に現在の kube-context と名前空間を意識しておく必要があります。 20 個の異なる kube コンテキストと 50 個程度の名前空間を持つクラスターを同時に管理するのは簡単な作業ではありません。特に異なるコンテキストやクラスター間でマルチタスクを実行する場合、環境内で間違ったコマンドを発行してしまう可能性が高くなります。

これを支援するには、アクティブな名前空間と kube コンテキストをターミナル プロンプトの近くに常に表示しておくと非常に便利です。

次の例では、kube-context は dev2–1 で、名前空間は test です。この情報があれば、クラスター内でコマンドを実行するときに簡単に表示できます。

画像クレジット: コマル・ベンカテシュ・ガネーサン

基本的な「kubectl」エイリアス

言うまでもなく、エイリアスはターミナルでの作業をカスタマイズしてスピードアップする最も簡単な方法です。以下は、私が頻繁に使用し、非常に使い慣れている kubectl エイリアスの一部です。

  1. エイリアスk = 'kubectl '  
  2. エイリアスkcc = 'kubectl config 現在のコンテキスト'  
  3. エイリアスkdp = 'kubectl delete po'  
  4. エイリアスkgc = 'kubectl config get-contexts'  
  5. エイリアスkge = 'kubectl get events --sort-by=' \''{.lastTimestamp}'\'
  6. エイリアスkgp = 'kubectl get po'  
  7. エイリアスkl = 'kubectl logs'  
  8. エイリアスkpf = 'kubectl ポートフォワード'  
  9. エイリアスksc = 'kubectl config use-context'  

少ないほど良い — 端末を使いすぎない

kubectl ユーザー向けに、4 つの基本的なターミナルのカスタマイズを紹介します。

  • kubetail を使用して、複数のポッド インスタンスのログ ファイルを表示します。
  • デフォルトの名前空間を動的に変更して、kubectl 命令を大幅に短縮します。
  • 予期しないエラーを回避するために、コマンド プロンプトの近くに kube-context と namespace を表示します。
  • 重要な kubectl エイリアスのリスト。

このミニマリストなセットアップとは対照的に、一般的な端末のアップグレード (K9 など) は複雑で、機能が豊富で、カラフルである傾向がありますが、逆に遅く、気を散らし、不必要です。追加する機能(余計な機能)が増えるほど、画面上の追加情報すべてを理解して操作するのにかかる時間も長くなります。

[[348573]]

画像ソース: unsplash

シンプルな端末設定は、何よりも集中力を高めることができます。シンプルなコマンド ライン ターミナル セットアップを使用すると、ローカル バイナリとツールの使用にすぐに習熟できます。これは、多くのインフラストラクチャを操作し、さまざまな VM シェル プロファイルにログインおよびログアウトする必要がある場合に特に重要です。

エンジニアにとって、ターミナル設定は、困惑させるものではなく、経験を豊かにするのに役立つはずです。

<<:  ファーウェイのクラウド共有専門家トン・シン氏:紙の話から実装まで、アジャイル変革は慎重かつ慎重に行う必要がある

>>:  クラウドネイティブのデータレイクを有効活用するにはどうすればよいでしょうか?

推薦する

iOS プロモーションおよび運用のマスターから、iOS チャネルの活用方法など、突然の啓蒙をいただきました。

質問1:iOSチャネルをどこで利用すればよいかわかりません。Androidユーザーはオンラインになっ...

ウェブマスターから電子商取引のオペレーションディレクターへの悲しい旅

2010年、まだ学生だった頃、私は友人とインターネットでビジネスを始めました。当時、技術を学んでいた...

Googleランキング最適化調査(パート3)

1. リンク ページ、About ページ、お問い合わせページなどを除いて、本当に高品質なコンテンツを...

コミュニティステーションの初期の運用上の位置付けは、「背が高くて、お金持ちで、ハンサム」であるべきかどうかです。

「背が高く、金持ちで、ハンサム」なサイト - 高品質の機能詳細、豊富なアプリケーション、ハンサムなイ...

適切なクラウド サービス プロバイダーを選択するにはどうすればよいでしょうか? IDCの見解を見る

コロナ後のクラウドの成長とクラウドサービス市場の変化を評価するIDCレポート2件「IDC Marke...

微龍激辛条モバイルゲームが登場!

多くの伝統的な企業が依然として「国家XX認証」や「XXの品質は本当に良い」など、前時代に流行したブラ...

#苦情防止 VPS# panamaserver-パナマ著作権フリーホスティング/KVM/月額料金は 20 ドルから

panamaserver は、2004 年からパナマのデータ センター (独自のデータ センター、独...

すべてのネットユーザーへ: SolusVMパネルの特別なセキュリティ警告

最近、SolUSVMは一連の高リスクの脆弱性に襲われ、現在、公式のSolUSVMがパッチをリリースす...

電子商取引金融の寒い冬:初期段階はこの冬を乗り切れなかった

Chuke 創業者兼 CEO の徐暁輝氏 (写真提供: Sina Technology)半年前、Ch...

ウェブサイトのナビゲーション構造を最適化し、降格方法を復元する方法

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスウェブサイトの SEO ...

百度の独創性に対する姿勢についての私の意見

他人に親切にしてもらいたいなら、まず自分が他人に親切にならなければなりません。そうでなければ、それは...

小さくて美しい O2O ビジネス事例 8 つ

国内のインターネットは王子たちの戦いのようで、BAT は世界を 3 つに分割し、インターネットのあら...

コンテンツの重複は、ウェブサイトの所有者に喜びと不安をもたらす両刃の剣です。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますコンテンツ...

SEO担当者へのリマインダー: 外部リンクの罠に陥らないようにする方法

SEOは実行力とスキルが問われるサービスです。SEOの作業内容は、サイト外への外部リンク作りとサイト...

Googleは2012年3月の検索改善点の一部をリストアップ

Google 検索は常に小さな改善を行っています。同社の Inside Search ブログでは最近...