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

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

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

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

推薦する

テンセントクラウドとMongoDBは、世界中のユーザーにMongoDBをサービスとして提供するための戦略的提携を締結しました。

Tencent Cloud が、世界をリードする最新の汎用データベース プラットフォームである Mo...

dedione - CN2 回線、無制限トラフィック VPS、KVM/1G メモリ/20g ハードディスク

dedione は Hostcat で 3 回紹介されていますが、今回はより優れた CN2 回線、無...

ユーザーにブランドロゴを覚えてもらうにはどうすればよいでしょうか? LOGO Design Network はユニークなロゴのデザインをお手伝いします。

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

Chrome でウェブサイトに HTTPS の使用を強制する

Hosts を使用して特定の Web サイトにアクセスする場合、通常は HTTPS を使用して通常ど...

SEO補助技術:Baiduスナップショット苦情実践

Baidu ウェブ苦情は、ユーザーが問題を報告したり、ヘルプを要求したりできるようにするためにウェブ...

エッジコンピューティング: 次世代のイノベーション

エンタープライズ テクノロジーの将来は、データ センターやパブリック クラウドに限定されません。エッ...

ウェブサイトの外部最適化と検索エンジン構築の「架け橋」

ウェブサイトの外部最適化を構築できるチャネルについて簡単に説明します。 1. 自分のウェブサイトのプ...

中間レビュー: 2020 年のクラウド障害最大 10 件

ほんの数か月前、コロナウイルスは誰も予想できなかった方法でクラウドプロバイダーを試しました。世界中で...

Zhihu の会員制経済をどのように評価しますか?

コンテンツ プラットフォームは、会員制経済を全面的に採用しています。 QQ、Weibo、Tencen...

ヤフーは14年間中国で多数のインターネットユーザーを維持してきたが、関係は古くなってきている

最近、ヤフーは元グーグル幹部のマリッサ・メイヤー氏を同社の社長兼CEOに任命した。これはヤフーにとっ...

SEOサイト全体の最適化と従来のキーワード最適化の違い

サイト全体の最適化とはSEO 最適化は、ウェブサイト最適化とも呼ばれ、検索エンジンのランキング ルー...

微博体験:微博プロモーションは3つの側面に焦点を当てる必要がある

すでにWeiboをご利用いただいた方も多いと思います。Weiboのユーザーは各地で急増しており、登録...

2019 年のサーバーレス テクノロジーに関する 5 つの予測

クラウドコンピューティング技術が今後さらに影響力を増すにつれ、サーバーレスの開発は継続されます。 2...

ニュースを装ったレコメンデーションエンジン:Toutiaoの価値とは?

はじめに: 公開されるニュースのすべてが自分たちにとって関心のあるものであるメディアがなぜ存在しない...