Kubernetes リソースを管理する際に注意すべき 5 つのポイント!

Kubernetes リソースを管理する際に注意すべき 5 つのポイント!

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​

<<:  Dapr 入門チュートリアル: キーストレージ

>>:  Google Cloud が IoT に最適なクラウドである 5 つの理由

推薦する

ウェブマスターの皆さん、ちょっと立ち止まって考えてみてください。本当に訪問者を理解していますか?

あらゆるウェブサイトの誕生は、ウェブマスターの大きな期待を伴います。ウェブマスターは、より多くの訪問...

2022年「ナイトエコノミー」インサイトレポート

都市人口の増加とデジタル化の継続的な発展、そして政府による「ナイトエコノミー」を奨励する政策の継続的...

マルチクラウドを管理する5つの方法

IBM Institute for Business Value のデータによると、実際には大多数の...

2345ナビゲーションは、おそらくそのプロモーションに著作権侵害の疑いがあるため、多数のサイトを削除しました。

最近、かつて瑞創で働いていた数人がIT Timesの記者に明らかにしたところによると、2011年3月...

raksmart シンガポール クラウド サーバーはどうですか?プレミアムネットワーク回線(cn2+bgp)の評価

raksmart はシンガポールのクラウド サーバー サービスを提供しています。このサイトでは、これ...

ウェブサイトがハッキングされたときの悲惨な教訓を個人的に語る

今年4月、湖北人材ネットワークのウェブマスターと友好的なリンクを交換していたとき、相手から「あなたの...

開始から1年で、健康コードの表示累計数は240億を超え、健康コードは日常の移動に重要な電子証明書となっている。

テンセントは2月7日、テンセントの防疫・健康規範1年間の報告書を発表した。データによると、過去1年間...

Baidu の評判がひっそりと開始: ウェブサイトの評判を客観的に評価する方法

最近、Baidu Reputation がオンラインでひっそりとリリースされました。多くの SEO ...

Xiaomi、Huawei、ZTEの国内携帯電話マーケティング戦争:売上か利益か?

はじめに: 継続的なマーケティング活動により、これらの携帯電話メーカーは大きな注目を集め、集中的な売...

クラウドにデータを保存する前に知っておくべき9つのこと

今、誰もがクラウドコンピューティングについて話しています。現状では、企業はクラウド コンピューティン...

KubernetesとDockerの基本概念と共通コマンドの比較

Docker は、多くのユーザーが使い始めるための基本的なコンテナおよびオーケストレーション ツール...

NodeServ – 年間 30 ドル / 500g DDOS 保護 / 256M メモリ / 50G ハードディスク / 500G トラフィック

NodeServ.com は、DDOS 保護を備えた VPS の提供を開始したと発表しました。ネット...

dedipath: シアトルのデータセンターVPSの簡単なレビュー。データからdedipathの優秀さがわかる

今月、米国西海岸のシアトルに Dedipath の新しいデータセンターが開設され、専用サーバーと V...

APPプロモーションのための4つのプロモーションと顧客獲得チャネル!

新規ユーザーはビジネス成長の源です。資金が豊富な成熟した企業は、高コストの顧客獲得チャネルを利用する...