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 シェル プロファイルにログインおよびログアウトする必要がある場合に特に重要です。

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

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

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

推薦する

ウェブサイトの最適化にはどのようなトラフィックが必要ですか?

どのようなトラフィックが必要ですか?オンラインマーケティングを行うほとんどの人の目的は非常にシンプル...

クラウド コンピューティングはどのような方法でデジタル変革をサポートしますか?

過去 2 年間、デジタル変革に関して傍観者だった多くの企業は、難しい決断を迫られてきました。今こそ、...

ブレインストーミング - 電子商取引のユーザー エクスペリエンス: Qijia.com

同社の第3回ブレインストーミングセッションが成功裏に終了しました。このグループのテーマは、Qijia...

中国トップ18インターネット企業の広告収入ランキング(通年)

2018年の中国インターネット企業の広告収入状況は?この問題は多くのマーケティング担当者にとって緊急...

kvmla: 香港 CN2/日本ソフトバンク/シンガポール CN2、VPS クラウド サーバー -50% オフ、専用サーバー 25% オフ

創業11年のVPS/サーバー販売業者kvmlaでは、現在、香港VPS、日本VPS、シンガポールVPS...

prometeus-50m メモリ VPS/ダラス/簡易評価

Prometeus は最近、多くの割引を提供しています。同社は 1 か月以内に、大容量メモリと大容量...

メガレイヤー:香港 20G 高防御 / 米国 100G 高防御、最低 199 元、E3-1230 / 8G メモリ / 240gSSD または 1T HDD / 30M 帯域幅 (CN2 ネットワーク)

megalayer は、秋学期に向けて特別プロモーションを開始しました。香港独立サーバー、CN2 最...

ウェブサイトの評価期間中、SEOERは雲が晴れて月が出てくるまで待った。

多くのウェブマスターは、Baidu のテストに耐えられないため、ウェブサイト構築の初期段階で自動的に...

Reprisehosting: シアトルの月額 30 ドル以下の格安専用サーバーのレビュー

Reprisehostingはどうですか? Reprisehostingは、アメリカ西海岸のシアトル...

インターネット マーケティングで最も重要なステップ、実行しましたか?

多くの人がいつも尋ねます。なぜ私のウェブサイトのコンバージョン率がいつもこんなに高いのですか? あな...

外部リンクについて何も知らない状態から初心者になるまで:医療ウェブサイトの外部リンクについての簡単な説明

初心者が個人的な体験をシェアするので、批判しないでください。以前はインターネットに詳しくなく、「イン...

企業視点での検索マーケティング戦略共有

検索マーケティング (SEM) には、SEO と検索入札 PPC が含まれます。これらは、中国企業が...

クラウドネイティブと自動化が次世代の WLAN に与える影響

クラウド ネイティブの原則を WLAN に適用する理由は何ですか?非常に効果的であることが証明されて...

マルチクラウド管理の5つの重要なヒント

組織にとってより優れたマルチクラウド管理戦略には、ID 管理、データセンターの複数のクラウドへの関連...