Kubernetes三段階の安全講演:どのようにKubernetesのリソース消費を監視し、制御します

この記事では、最後の1で3つの記事の安全Kubernetesシリーズについてです。では最初の記事;、我々は外部の***から企業Kubernetesクラスタを確保する方法を共有する第二の記事は内部の脅威からKubernetesを保護するための3つの方法について説明します。本稿では、資源消費やノイズの多い近隣の問題を処理する方法について説明します。


マルチテナントクラスタ管理者Kubernetesクラスタを設定人のために、それは大きな懸念の問題であり、彼らは心配、どのように共同テナントを防ぐためには、人々のCPU、メモリ、ストレージ、およびその他のリソースの独占である「うるさい隣人」、になります。他のユーザーのパフォーマンスが騒々しい隣人が非常に悪い効果を生み出す資源インフラストラクチャを共有します。


それは、コンテナファイリングシステムが最適に動作している保つ運用コストを削減するだけでなく、Kubernetesの全体的なセキュリティ体制を強化することができないだけであるため、結果として、トラックのリソース使用量Kubernetesコンテナとポッドは、クラスタ管理のために非常に重要です。


いくつか考慮しない場合があり、操作および保守チームリソース消費のは ***重要な、重要な安全上の問題であり、内部および外部のネットワークに対して少なくともないKubernetes保護。しかし、このビューが正しくありません。強力なので*** *** Kubernetesコンポーネントを方法を見つけるために、機能不全のインフラストラクチャを使用します。


「安全は私の家に侵入しないでください "だけではなく、『どのように私は自分の家が、良好な作動状態に維持されている作るのですか』」シニアソリューションアーキテクトエイドリアンGoins表現のランチャー研究所を。


運用・保守チームは、各ユーザーが最高の性能を持つことができることを保証するために、コスト配分の使用状況を監視するために、最大使用Kubernetesポッド(共有ストレージおよびネットワークリソースを有する1つのまたはそれ以上の容器のセット)がリソースを消費が必要です状況。Kubernetes資源等基礎となるAWS、Googleのクラウド、クラウド、上アリクラウド・プロバイダーのコンピューティング・インフラストラクチャを実行しているので、Goinsは言った、」「コストに等しい使用」を、すべてのリソースがすべて消費し、お金のコストと思いました。でも、クラスタデータに裸の金属中心上で実行すると、ハードウェア、電気およびその他のリソースを過度に使用の費用がかかります。」


デフォルトでは、構成コンテナ、および任意の制限なく使用できる資源の量だけ。コンテナが効率的に実行できない場合、組織は血管が超過料金を支払うことになる展開します。幸い、Kubernetesが管理し、稼働率Kubernetesリソースの機能を最適化するために、運用チームを助けるために持っています。


資源のポッド管理


管理者は、ポッドを定義するとき、彼らはどのくらいのCP​​Uとメモリ(RAM)各コンテナのニーズを指定することもできます。コンテナは、リソース要求を指定した場合、スケジューラは、より良いポッド上のどのノードを決定することができます。コンテナは制限を指定するときKubernetesの文書によると、あなたは仕方指定されたノードの競合上のリソースを押すことができます。


デフォルトでは、すべてのクラスタリソースKubernetesは、作成されたデフォルトの名前空間にあります。名前空間は、リソースクォータのオプションの指定を含むクラスタグループのリソースへの論理的な方法です。


管理者は、名前空間のリソース制限またはクォータを設定することができ、名前空間、RAM又は3つのリソースの格納--Kubernetesクラスタで実行しているCPUのワークロードまたはアプリケーションの特定の量を割り当て。「あなたが名前空間に予め設定されたクォータを超過する別のリソースを起動する場合は、すべての新しいリソースが起動できない、」Goinsは語りました。


 「クォータのリソースを適用すると、意味しているあなたは、リソースの制約が自身のために設定された制限名前空間で実行されているすべてのコンテンツを強制的に、2つのタイプがあります。予約されており、上限は、」Goinsは説明しました。例えば、予約することにより、管理者は、WordPressのサイトのためのRAMの128メガバイトのKubernetesクラスタの割り当てを行うことができます。各ワードプレスポッドの展開では、サーバー自体はRAMの128メガバイトを保証します。管理者は、組み合わせの1ギガバイトにリソース要求とリソースクォータを設定した場合そのため、ユーザーはその制限を超える前に、8ワードプレスポッドを実行することができます。その後、彼らはRAMを使用することはできません。


第二の部分は、最大リソース制限です。管理者は、リソース要求の脇に128メガバイトを設定し、RAMの256メガバイトまでのことができます。「RAM使用量のポッドChaoguo 256メガバイトは、Kubernetesはそれを殺すし、それを再起動する場合は、」Goinsは語りました。「だから、ユーザー以来、騒々しい隣人からプロセスや暴走に影響を与えることができます。」


プロジェクトとリソースクォータ


ランチャーのようなプラットフォームは、直感的なインターフェイスと、(そのような説明のグローバル層の役割として)集中管理タスクを提供することにより、Kubernetes管理を簡素化することを目的とします。


インサイダー脅威の保護に関する以前の記事として、ランチャーは、名前空間を越えて行くために、リソースの負担を軽減するために「プロジェクト(プロジェクト)、」クラスタ管理のヘルプが含まれています。ランチャーでは、プロジェクトは、より多くの名前空間に、管理者は単一のエンティティとして管理されていることができます。そのため、ランチャーリソースクォータがプロジェクトに適用することができます。


標準Kubernetes展開では、リソース割当量は、個々の名前空間に適用することができます。クォータは名前空間に適用しながら、しかし、管理者は、単一の操作を渡すことはできません。いくつかのリソースの割り当て後に動作しなければなりません。


しかし、ランチャー、管理者は、クォータ資源プロジェクトに適用され、その後、各名前空間のクォータに広がることができます。その後、Kubernetesは、管理者が制限を実施するために、リソースクォータのネイティブバージョンを使用します。管理者は、クォータ、特定の名前空間を変更したい場合は、以前のクォータを上書きすることができます。


Kubernetesを強化し、最適化します


言うまでもなく、Kubernetesは、標準としてのインフラストラクチャを提供するために、クラウドと仮想化ベンダーのほとんどに貢献標準コンテナの配置、となっています。しかし、環境への意識のKubernetes一般的な不足に関連するセキュリティ上の問題は、クラスタの内側と外側から***ネットワークにさらされる様々な成分を引き起こす可能性があります。


この連載の2の外部と内部ネットワークの脅威に対するKubernetesガードを強化するために、どのようにKubernetes機能と(例えばランチャーなど)のコンテナ管理ソリューションを使用する方法を伝えるためにいくつかの実用的な手順を提供します。企業は、役割ベースのアクセス制御(RBAC)と強いアイデンティティーを介して外部からアクセス可能な保護KubernetesのAPIを確認する必要があります。内部人員保護のため、マルチユーザKubernetesクラスタので、クロス通信RBACによって組織を保護する必要があり、論理的分離NetworkPoliciesからです。


他のテナントの独占CPU、メモリ、ストレージ、およびクラスタ全体のパフォーマンスを下にドラッグし、他のリソースを防ぐために、Kubernetesは、リソース使用率Kubernetes機能を管理し、最適化を支援するために資源の制約やクォータとその他の機能、運用、保守チームを提供しています。最後に、使用可能なデフォルトの設定に加えて、ユーザーが管理に役立つとKubernetes完全なクラスタを保護するためにいくつかの非常に有効なツールは、業界があります。例えば、ランチャーのようなプラットフォームは、具体的には、組織の建物の生産に複数のクラスタを展開するために設計された高度に最適化されたコンテナ管理ソリューションであり、ビジネスユーザは、より容易に操作を通じて管理しKubernetesができます。それも、うるさい隣人内部に隠された外部クラスタKubernetes ***脅威から保護します。


おすすめ

転載: blog.51cto.com/12462495/2416505