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

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

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

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

推薦する

Sihua TechnologyのCao Jingtao氏:クラウドコンピューティング時代のストレージ戦略の分析

[51CTO.com からのオリジナル記事] 今日、クラウド コンピューティングは IT 業界全体の...

コンテンツマーケティングに広告を埋め込む方法

コンテンツ マーケティングは、メディア企業を装って収益を得る方法にすぎず、その目的はマーケティングで...

SEOデータ分析スキル4:ウェブサイトトラフィック分析

みなさんこんにちは。私は徐子宇です。ウェブサイトのデータ分析に関しては、キーワードランキング、コンテ...

Baidu がゲーム事業を売却し、間もなく一連の「一掃」レイオフを開始することが明らかになりました。

最近、百度が諾米と食品配達事業を売却しようとしているとの噂が流れている。しかし、このニュースの出所と...

VMware Aria: マルチクラウド管理を簡素化し、クラウドの混乱をクラウド インテリジェンスに移行

現在、クラウド コンピューティングを利用して企業のデジタル変革を加速することは、ほとんどの企業の間で...

2023 年に注目すべき 3 つのデータ インフラストラクチャ トレンド

データ インフラストラクチャは、IT 環境において中心的な位置を占めるようになっています。データ ウ...

フォーラムの外部リンクで私の経験を共有する

最近、フォーラムの外部リンクは不安定で削除されやすいので、フォーラムの外部リンクを避けるようにすべき...

ウェブサイトランキングとSEOの関係の分析

先日、昔の同級生と会って、現在の仕事について話しました。公務員もいれば、ビジネスマンも、管理職も、営...

Tencent Magicianがデータセンターに活気をもたらす

[51CTO.com からのオリジナル記事] ピノキオという名の小さな木製の人形が、命を得て本当の男...

Alibaba Cloud Security Xiao Li: RSA2019 から学ぶセキュリティ技術開発の 10 の機会

国際的に有名な情報セキュリティサミットRSA2019が終了しました。サミットには世界中から700以上...

推奨: $79/Burst-L5520/24G メモリ/1T ハードディスク/5T トラフィック/5IP/IPMI

Burst は、ダラス、ロサンゼルス、マイアミ、スクラントンに複数のデータセンターを持つ、非常にコス...

buyvm マイアミデータセンター VPS 国内初評価、高性能プラットフォーム: AMD Ryzen 9 3900x+DDR4+NVMe+1Gbps 帯域幅無制限トラフィック

buyvm の 4 番目のデータ センターは、米国南東海岸のマイアミにあり、オンラインになっています...

海外サーバー - プロモーション概要

ブラックフライデーから始まる各種独立サーバープロモーションをまとめました。一定の稼働時間を持つ信頼で...

YingxiaotongとGuanjiapo Distribution ERPがMengniu Groupのスマートネットワークの強化を支援

月収10万元の起業の夢を実現するミニプログラム起業支援プラン近年、経済発展と消費のグレードアップに伴...

クラウドベースの新しい通信シナリオ:ファーウェイクラウドカンファレンスが世界を手の届く範囲に

ハーバード・ビジネス・レビューは2018年に、CEOがどのように時間を管理しているかを具体的に調査し...