Kubernetes リソースの管理: 留意すべき 5 つのポイント

Kubernetes リソースの管理: 留意すべき 5 つのポイント

[[340175]]

この記事はWeChat公式アカウント「Xintai Cloud Service」から転載され、Huang Haojieが翻訳したものです。この記事を転載する場合は、Xintai Cloud Service公式アカウントまでご連絡ください。

Kubernetes は、大規模なコンテナ管理のタスクの多くを自動化します。ただし、コンテナ化されたアプリケーションはプールされたリソースを共有することが多いので、それらを適切に割り当てて管理する必要があります。

コンテナ オーケストレーションは、IT チームにとって大きな可能性を秘めています。コンテナの管理に必要な作業の多くを自動的に処理できるからです。

プロジェクトの公式 Web サイトで説明されているように、Kubernetes (K8s) のパワーを考えてみましょう。「Kubernetes (K8s) は、コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するオープンソース システムです。」

これは非常に重要です。特に、コンテナ化されたアプリケーションを多数実行しているチームについて話している場合は重要です。 Kubernetes などのオーケストレーター自体の自動化は、コンテナを本番環境で実行するために必要であると広く考えられていますが、だからといって IT プロフェッショナルが安心できるわけではありません。クラスター上で実行されるアプリケーションのリソース管理の設定と最適化など、まだやるべき作業はたくさんあります。

Kubernetes リソースを管理する必要があるのはなぜですか?

「Kubernetes は、Kubernetes 上で実行される予定のポッドのコンピューティング、メモリ、ストレージなどのすべての重要なリソースを管理するためのオプションを提供します」と、Altran のテクノロジー、研究、イノベーション担当ディレクターの Raghu Kishore Vempati 氏は述べています。クラスターには無制限のリソースはなく、非常に特殊でそのように実行する必要がある場合を除き、各アプリケーション/ソリューションが独自の Kubernetes クラスターを持つことは一般的ではありません。

つまり、アプリケーションはコレクションのリソースを共有することが多いのです。これらのリソースを割り当てる「正しい」方法は組織やアプリケーションによって異なりますが、幸いなことに、Kubernetes にはリソース管理のための機能が多数含まれています。

「Kubernetes はどこにでも導入できますが、それは必要なインフラストラクチャが環境に固有のものになることを意味します」と Kasten のエンジニアリング ディレクター、Tom Manville 氏は述べています。 「自分の環境で必要なリソースを理解し、それを適切に割り当てることが重要です。クラスターが拡張されると、インフラストラクチャも拡張する必要があります。幸いなことに、クラスターの拡張は簡単で、多くの場合、自動的に行われます。」

Kubernetes リソースの管理: 知っておくべき 5 つの重要なポイント

Vempati 氏は、Kubernetes 環境におけるコンピューティングやストレージなどのリソースの管理は、Kubernetes がシステム レベルで提供するものと、アプリケーションおよびアーキテクチャ レベルで計画する必要があるものの 2 つのカテゴリに大まかに分類できると指摘しました。この投稿では、主に前者のカテゴリの機能に焦点を当てます。

5つの重要な点について詳しく見ていきましょう。

1. 名前空間とリソースクォータを使用する

Vempati 氏は、チームが同じクラスター上で複数のアプリケーションを実行することが多いと指摘しました。このような使用法の場合、Vempati や他の専門家は一般に、分離やその他の目的のためのベスト プラクティスとして、マルチテナント環境で名前空間を使用することを推奨しています。同様に、複数のチームまたは複数のユーザーが同じクラスターにアクセスする場合 (複数のアプリケーションが同時に実行される場合もあります) には、名前空間が推奨されます。名前空間も Kubernetes セキュリティの一部です。

これらのマルチアプリケーション、マルチユーザー環境で名前空間を使用する場合、Vempati では、Kubernetes のネイティブ リソース クォータ機能を使用して、それらの名前空間に割り当てられたアプリケーションとチーム全体に正しく割り当てられるようにすることも推奨しています。

「リソースクォータにより、クラスター管理者は各名前空間の全体的なリソース消費を制御できます」と Vempati 氏は述べています。これには、コンピューティング、メモリ、ストレージなど、名前空間ごとに作成できるオブジェクトの合計数が含まれます。たとえば、非ターミナル状態のすべてのポッドに対して、特定の値を超えない CPU 制限またはメモリ制限を設定できます。 ”

Kasten の Manville 氏は、CPU とメモリは一般的に管理者がリソース クォータを使用して制限する最も一般的なリソースであるが、名前空間内のポッドの数を制限することもできると指摘しました。リソース割り当ては重要な管理ツールであると言えます。

「クォータベースの管理により、クラスタ管理者はリソース全体を効果的に管理し、すべてのアプリケーションに最も適切な方法でリソースを割り当てることができる」とベンパティ氏は述べた。

2. 利用範囲の制限

リソース クォータは、名前空間レベルでリソース消費を管理するために使用されます。つまり、一度設定すると、名前空間全体に適用されます。制限スコープは同様の目的を持ちますが、単一のコンテナーまたはコンテナー レベルでリソースの消費を制限します。

「Kubernetes は、アプリケーションが消費するリソースを制御するための強力なプリミティブを管理者に提供します」とマンビル氏は述べています。 「管理者は、開発者のリソース要求を制限するために制限範囲を構成し、名前空間で消費されるリソースの合計量を制限するためにリソースクォータを作成できます。」

これらの関連機能の違いについて考える別の方法は、名前空間とリソース クォータを使用して、アプリケーションまたはチームがクラスターの全体的なプール リソースの必要な割合を占有しないようにできることです。スコープを制限すると、単一のポッドまたはコンテナが特定の名前空間に割り当てられたリソースの大部分を消費する状況を防ぐことができます。

3. ネットワークポリシーを設定する

Kubernetes には、ポッドが相互に通信する方法 (または通信を禁止する方法) など、ネットワークに関する固有の特殊性もあります。 Vempati では、ネットワーク ポリシーの使用を推奨しています。

「ネットワークに関しては、Kubernetes ではネットワーク ポリシーを設定するオプションが用意されており、クラスター上でスケジュールされた個々のポッドが同じクラスター上の他のノードや他のエンドポイントとどのように通信するかを指定するのに役立ちます」と Vempati 氏は述べています。 「たとえば、ポッドの受信トラフィック ルールと送信トラフィック ルールを設定できます。」これは、コンテナ セキュリティに対する総合的かつ階層化されたアプローチの一部でもあります。

4. 該当する場合は忘れずに保管してください

ストレージは、独自の詳細な調査に値します。管理者が CPU とメモリを非常に具体的に制御できるのと同様に、同じ原則がストレージにも適用されます。

「Kubernetes は非常にきめ細かい制限を設定するのに役立ちます」と Vempati 氏は言います。したがって、特定の名前空間内で、その名前空間に存在できる PersistentVolumeClaim の数に制限を設定できます。

Red Hat のテクニカル フェローである Gordon Haff 氏は、永続ボリューム (PV) を、効果的に管理する最も重要な Kubernetes リソースの 1 つとして説明しています。

「一時的なコンテナ イメージに縛られないストレージを構成する機能は、Kubernetes を以前のコンテナ ベースのプラットフォーム アズ ア サービス (PaaS) 製品と差別化する Kubernetes の重要なイノベーションの 1 つです」と Haff 氏は述べています。 「永続的なストレージがなければ、アプリケーション アーキテクチャは特定のスタイルに制限されます。

Haff 氏は、Kubernetes の PV はプラグインとして実装されており、そのライフサイクルは PV を使用する個々の Pod から独立していると指摘しました。 PersistentVolumeClaim は本質的にはユーザーからのストレージ要求であり、PV の詳細をさらに抽象化するものであると Haff 氏は付け加えた。

「Kubernetes がこのように設計されているのは、ユーザーがさまざまな問題やワークロードを解決するために、異なる特性 (パフォーマンスなど) を持つ PV を必要とすることが多いためです」と Haff 氏は説明します。 「PV の種類によって、アクセス パターンも異なります。」

したがって、これは、Vempati が上で説明したリソース管理の 2 番目のカテゴリ、つまりアプリケーションおよびアーキテクチャ レベルでのリソース計画に関係します。ストレージは最初に評価する必要があるものだとハフ氏は指摘した。

「Kubernetes リソースを管理する上で重要なのは、まず永続ストレージ (データベースなど) が必要かどうか、また必要であればどのボリューム プラグインがワークロードとコンピューティング環境に最適かを事前に計画することです」と Haff 氏は述べています。

データベースについて言えば、Crunchy Data のプラットフォーム エンジニアリング担当副社長 Jonathan Katz 氏は、ステートフル アプリケーションはリソース管理にいくつかの追加のニュアンスを導入すると述べています。 「たとえば、メモリはPostgreSQLの重要な調整可能なリソースです」とKatz氏は語った。 Kubernetes オペレーターの PostreqSQL の背後には複雑なデータが隠されています。

「低い要求と高い制限を設定するのではなく、長期的に使用したい実際のメモリ値にメモリ要求を設定することが重要です」と Katz 氏は説明します。 「これにより、より多くのデータがメモリにキャッシュされるため、PostgreSQL インスタンスが十分なリソースを持つノードにスケジュールされ、エビクションや OOM キラーによるアクセスなどのイベントのリスクが制限されます。」

5. 整理整頓: API オブジェクトと監視

「アプリケーションのいずれかが Kubernetes API を直接使用している場合は、API オブジェクトを自動的にクリーンアップするようにしてください」と Manville 氏は述べています。未使用の API オブジェクトが多数あると、クラスターのパフォーマンスが低下する可能性があります。さらに悪いことに、これらのオブジェクトはアイドル状態のインフラストラクチャにマップされることがあり、不必要なコストが追加される可能性があります。 ”

多くの場合、効果的なリソース管理には、チームと管理者が状況を把握できることが必要です。したがって、クラスター全体のリソース使用状況を監視し、注意深く監視することを忘れないでください。

「これにより、クラスターが使用しているリソースをよりよく理解し、クラスターが容量に近づいたときに警告を発し、場合によっては Kubernetes を自動的にスケーリングできるようになります」と Manville 氏は述べています。

オリジナルリンク https://enterprisersproject.com/article/2020/8/managing-kubernetes-resources-5-things-remember

<<:  数十億のトラフィックがあるシステムで JVM を使用する方法

>>:  ダーウィンの瞬間における変革 IBMは、企業がオープンで安全なハイブリッドクラウドプラットフォームを構築できるよう支援します

推薦する

#ニュースLinode-KVM社内テストアプリケーション開始/Windowsは世界

Linode の公式フォーラムから衝撃的なニュースが出てきました。Linode は KVM 仮想 V...

Kubernetes のコンテナタイプを調べる

序文Kubernetes では、コンテナは Pod でデプロイおよび管理されます。 Pod は、Ku...

ヒント: 最近ロシアの製品やサービスを購入するときは注意してください

現在、米国はSwiftの追放などロシアに対する制裁を開始しており、PayPalをはじめ多くの米国企業...

権威あるドメイン名を活用しましょう

ブラックハットSEOとグレーハットSEOの話題を続けます。今日は、他の人の権威の高いドメイン名をどの...

ローカル Web サイトは運用上のボトルネックに直面しています。詳細とアイデアの革新こそが解決策です。

インターネット上のローカル ウェブサイトは限界に達しています。ほとんどすべての小さな郡には独自のロー...

#リアル VPS クラウド: vexxhost - $5/1g メモリ/40g SSD/4T トラフィック/1000M ポート

HostCat は何度も vexxhost を推奨していますが、多くの人はそれに注意を払っていません...

ウェブサイトのキーワードを分析して選択する方法

ウェブサイトのキーワード選択の問題は、マーケティング ウェブサイトの構築において常に特に重要です。適...

第27回SEO研修の予約受付を開始しました。SEO実践研修が始まります

ウェブマスターや業界の友人たちのサポートにより、ウェブマスタートレーニングは26回にわたって成功裏に...

ToutiaoやWeiboなど情報流通促進チャンネルの特徴を詳しく解説!

情報の流れを促進したい場合、チャネルの選択は私たちにとって非常に重要な部分です。情報流通促進をうまく...

あなたのウェブサイトにはホームページだけが含まれていますか?

一生懸命に構築したウェブサイトがようやく組み込まれたとき、不可解な問題が見つかりました。サイトコマン...

JVMの原理と徹底的なチューニング

[[436050]] JVMとはJVM は、ユーザー モードで実行され、アプリケーションを通じてクロ...

元のウェブサイトを買い戻したいのですが、その価値があるかどうか教えていただけますか?

2010年に友人たちのサポートを得て、ローカルフォーラムを立ち上げました。2年間の開発を経て、私の経...

業界の最新情報とギャップの埋め合わせは、中小規模のウェブサイトの現在の開発トレンドです。

業界の最新情報とギャップの埋め合わせは、中小規模のウェブサイトの現在の開発トレンドです。中小企業向け...

ファーウェイクラウド、2020年上半期の中国パブリッククラウド市場の成長率で第1位に

最近、国際的に権威のある市場調査機関であるIDCは、最新の「中国パブリッククラウドサービス市場(20...