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は、企業がオープンで安全なハイブリッドクラウドプラットフォームを構築できるよう支援します

推薦する

IDC: パブリッククラウド支出は2020年第1四半期に101億ドルに達した

[[331458]]インターナショナル・データ・コーポレーション(IDC)が6月26日に発表したレポ...

シアトルエクイニクスデータセンターのedgevirtのVPSの簡単なレビュー

edgevirt はどうですか? edgevirt vps はどうですか? HostCat のウェブ...

キーワード選定に関する私の意見(第2回)ロングテールキーワードの設定方法

前回、「キーワード選びに関する私の考え(I)ロングテールワードの選び方」でロングテールワードの選び方...

locvpsはどうですか?香港荃湾MGデータセンター国際回線評価

locvpsはどうですか? locvps 香港 荃湾 MG データセンターの国際回線 VPS はいか...

動画著作権は過去3年間で浮き沈みを経験している。大手動画サイトは共同で価格を引き下げている。

2009年から2011年にかけて、映画やテレビドラマなどのニューメディア(動画サイト)の著作権価格は...

インターネット社会化シリーズ: インターネットユーザーの需要の分析

ネットユーザーのニーズはインターネット革新の基盤です。インターネットの社会化を背景に、ネットユーザー...

インターネットトラフィックフローの簡単な歴史

交通不安は2019年を通じて続いた。不安の中、各トラックのプレーヤーは新たな交通の入り口を開拓しよう...

突然頭に浮かんだ 2 つの最適化のアイデアについてお話ししたいと思います。

鍵は飛び、言葉は発せられる。いつ雲が晴れて太陽が顔を出すのだろうか?心は水のように、夜のように静かで...

シドニーは罰金を科せられ、アンカーは「所有者不明」となった

ロレアルと李佳琦の論争はまだ終わっておらず、シドニーは脱税で罰金を科され、キャスター界に「衝撃」を与...

Mito テンプレート: ソフトウェア情報会社の Web サイト テンプレートの推奨

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

有能なウェブマスターになる方法について語る [パート 1]

夕食後、何もすることがなかったので、ウェブマスターの資格を取得する方法について記事を書きました。これ...

Pinduoduoは今後も成長を続けることができるでしょうか?

8月21日、ピンドゥオドゥオは2019年第2四半期の財務報告を発表し、業績は予想を上回りました。ピン...

ローカル ウェブサイトの困難な道: ユーザー エクスペリエンスからどこへ向かうか (パート 3)

最初の 2 つの記事では、ローカル サイトのローカリゼーションとユーザーのニーズを満たす方法について...

SEOの「地方から都市を包囲する」戦略がポータルサイトに一気に反撃

「都市を囲む農村」ここで説明する必要はないと思います。どうしても分からない場合は百度で検索してくださ...