type
status
date
slug
summary
tags
category
icon
password
书籍
第16章: OpenShiftコンテナープラットフォームの管理と監視
目標: OpenShiftのリソースとソフトウェアを管理および監視する。
目的:
  • アプリケーションによるリソース消費量を制限する。
  • OpenShiftのインスタンスをアップグレードする方法を説明する。
  • アプリケーションのヘルスを監視するためにプローブを設定する。
  • ウェブコンソールから取得したデータを使用してOpenShiftリソースを監視する。
セクション:
  • リソース使用の制限(およびガイド付き演習)
  • OpenShiftコンテナープラットフォームのアップグレード(およびクイズ)
  • プローブを使用したアプリケーションの監視(およびガイド付き演習)
  • ウェブコンソールを使用したリソースの監視
ラボ: OpenShiftの管理と監視
 
リソース使用の制限
目標
このセクションを完了した後、学生はアプリケーションが消費するリソースを制限する方法を理解できるようになります。
ポッドのリソース要求と制限
ポッド定義には、リソース要求とリソース制限の両方を含めることができます。
リソース要求
スケジューリングに使用され、ポッドが指定された量の計算リソース以上で動作できないことを示します。スケジューラーは、ポッドの要求を満たすのに十分な計算リソースを持つノードを探そうとします。
リソース制限
ポッドがノードのすべての計算リソースを使い果たさないようにするために使用されます。ポッドを実行するノードは、Linuxカーネルのcgroups機能を設定して、ポッドのリソース制限を強制します。
リソース要求とリソース制限はポッド定義の一部ですが、通常はデプロイメント設定で設定されます。OpenShiftの推奨プラクティスでは、ポッドは単独で作成すべきではなく、デプロイメント設定によって作成されるべきであるとされています。
クォータの適用
OpenShift Container Platformは、2種類のリソースの使用を追跡して制限するクォータを適用できます。
オブジェクト数
ポッド、サービス、ルートなどのKubernetesリソースの数。
計算リソース
CPU、メモリ、ストレージ容量などの物理的または仮想的なハードウェアリソースの数。
Kubernetesリソース数にクォータを設定することで、OpenShiftマスターの安定性を保つのに役立ちます。これは、マスターデータストア(Etcdデータベース)の無制限な成長を避けるためです。Kubernetesリソースにクォータを設定することは、サービスのIPアドレスなど、他の限られたソフトウェアリソースの枯渇を防ぐことにもなります。
同様に、計算リソースの量にクォータを設定することで、OpenShiftクラスタ内の単一ノードの計算能力を使い果たさないようにします。また、クラスタ全体のリソースを1つのアプリケーションがすべて使ってしまい、他のアプリケーションがリソース不足に陥ることを防ぎます。
OpenShiftは、クラスタ内のオブジェクトと計算リソースの使用に対して、ResourceQuotaオブジェクト、または単にクォータを使用して管理します。ResourceQuotaオブジェクトは、プロジェクトのハードリソース使用制限を指定します。クォータのすべての属性はオプションであり、クォータで制限されていないリソースは無制限に消費できます。
注意
1つのプロジェクトには複数のResourceQuotaオブジェクトを含めることができます。その効果は累積的ですが、同じプロジェクト内で異なるResourceQuotaオブジェクトが同じ種類のKubernetesリソースや計算リソースの使用を制限しないようにすることが期待されています。
以下の表は、ResourceQuota によって強制される可能性のあるいくつかのオブジェクト数制限を説明しています。
オブジェクト数の名前
説明
pods
ポッドの総数
replicationcontrollers
レプリケーションコントローラーの総数
services
サービスの総数
secrets
シークレットの総数
persistentvolumeclaims
永続ボリューム要求の総数
以下の表は、ResourceQuota によって強制される可能性のあるいくつかの計算リソース制限を説明しています。
計算リソースの名前
説明
cpu
すべてのコンテナで使用される総CPU
memory
すべてのコンテナで使用される総メモリ
storage
すべてのコンテナで使用される総ディスク容量
注意
リソースクォータの属性の完全なリストと各属性の意味については、Red Hat OpenShift Container Platform 3.9 クラスター管理者および開発者ガイドのドキュメントを参照してください。
クォータの属性は、プロジェクト内のすべてのポッドに対するリソース要求(requests)またはリソース制限(limits)を追跡できます。デフォルトでは、クォータの属性はリソース要求を追跡します。リソース制限を追跡したい場合は、計算リソース名の前に「limits」を追加します。例えば、limits.cpu などです。
以下に、オブジェクト数と計算リソースの両方のクォータを指定した ResourceQuota リソースの YAML 構文を示します:
リソース単位は、ポッドのリソース要求やリソース制限と同じです。例えば、Gi は GiB(ギガバイト)、m はミリコアを意味します。
リソースクォータは、他の OpenShift Container Platform リソースと同じ方法で作成できます。つまり、JSON または YAML のリソース定義ファイルを oc create コマンドで渡して作成します:
リソースクォータを作成する別の方法は、oc create quota コマンドを使用することです。例えば、次のように指定できます:
oc get resourcequota コマンドを使用して、利用可能なクォータのリストを表示できます。また、oc describe resourcequota NAME コマンドを使用して、クォータで定義された制限に関連する使用状況の統計を表示できます。例えば:
oc describe resourcequota コマンドを引数なしで実行すると、プロジェクト内のすべての ResourceQuota オブジェクトの累積制限が表示され、どのオブジェクトがどの制限を定義しているかは表示されません。
アクティブなクォータは、oc delete resourcequota NAME コマンドを使用して名前で削除できます:
プロジェクト内でクォータが最初に作成されると、クォータの制約に違反する新しいリソースの作成が制限されますが、使用状況統計が更新されると、新しいリソースを作成できるようになります。新しいリソースが作成されると、クォータ使用量は即座に増加します。リソースが削除されると、次回プロジェクトのクォータ統計が完全に再計算される際に、クォータ使用量は減少します。
重要
ResourceQuota の制約はプロジェクト全体に適用されますが、ビルドやデプロイメントなどの多くの OpenShift プロセスはプロジェクト内でポッドを作成します。これらは、プロジェクトのクォータを超えると失敗する可能性があります。

LimitRange の適用

LimitRange リソース(または単にリミット)は、プロジェクト内の ポッドコンテナ に対する計算リソースのリクエストや制限に関する デフォルト値最小値、および 最大値 を定義します。ポッドのリソースリクエストや制限は、そのポッド内の すべてのコンテナ の合計として計算されます。

リミットレンジとリソースクォータの違い

  • リミットレンジ は、 単一のポッド に対して有効な範囲やデフォルト値を定義します。
  • リソースクォータ は、 プロジェクト内のすべてのポッド の合計に対する 上限 を定義します。
リソース使用に関して懸念があるクラスター管理者は、通常 リミットクォータ の両方を設定します。

リミットレンジで定義できるリソース

リミットレンジは、以下のようなリソースに対しても デフォルト値最小値最大値 を定義できます:
  • コンテナ の CPU やメモリ
  • ポッド の CPU やメモリ
  • イメージ のストレージ容量
  • 永続ボリュームクレーム (PVC) のストレージ容量

LimitRangeの動作

  1. プロジェクトにリソースが追加された場合、計算リソースのリクエスト が設定されていない場合、そのリソースはプロジェクトのリミットレンジに基づいて デフォルト値 を適用します。
  1. リクエストや制限がリミットレンジで指定された 最小値 より小さい場合、そのリソースは作成されません。
  1. リクエストや制限がリミットレンジで指定された 最大値 より大きい場合、そのリソースも作成されません。

LimitRangeの例

以下は、リミットレンジを YAML構文 で定義した例です:

LimitRangeの作成

LimitRangeリソースは、他のOpenShiftリソースと同じように作成できます。以下のコマンドで作成可能です:

Red Hat OpenShift Container Platform 3.9 には、リソース制限を設定するための oc create コマンドがありません。その代わりに、YAML ファイルを使用する必要があります。プロジェクトに適用されているリミット制約を表示するには、oc describe limitranges NAME コマンドを使用します。また、oc get limits コマンドを使用しても同様の出力が得られます。
アクティブなリミットレンジは、oc delete limitranges NAME コマンドを使用して名前で削除できます:
リミットレンジがプロジェクトに作成されると、すべてのリソース作成リクエストは、プロジェクト内の各 LimitRange リソースに対して評価されます。新しいリソースが LimitRange によって指定された最小または最大制約を違反する場合、そのリソースは拒否されます。新しいリソースが明示的な値を設定していない場合、制約がデフォルト値をサポートしていれば、そのデフォルト値が適用されます。
すべてのリソース更新リクエストもプロジェクト内の各 LimitRange リソースに対して評価されます。更新されたリソースが制約に違反する場合、その更新は拒否されます。
重要
リミットレンジの制約を過度に高く設定したり、リソースクォータの制約を過度に低く設定したりしないようにしてください。リミットレンジの制約に違反すると、ポッドが作成されず、明確なエラーメッセージが表示されます。リソースクォータの制約に違反すると、ポッドがノードにスケジュールされない場合があります。ポッドは作成されても、保留状態のままであることがあります。

複数のプロジェクトにクォータを適用する

ClusterResourceQuota リソースは、クラスターレベルで作成され、複数のプロジェクトに適用されるリソース制限を指定します。
開発者は、次の 2 つの方法のいずれかで、どのプロジェクトにクラスターレベルのリソースクォータを適用するかを指定できます:
  • openshift.io/requester アノテーションを使用して、プロジェクトオーナーを指定する方法。指定されたオーナーを持つすべてのプロジェクトがクォータの対象となります。
  • セレクタを使用する方法。セレクタと一致するラベルを持つすべてのプロジェクトがクォータの対象となります。
以下は、qa ユーザーが所有するすべてのプロジェクトに対して、クラスターレベルのリソースクォータを作成する例です:
次は、environment=qa ラベルを持つすべてのプロジェクトに対して、クラスターレベルのリソースクォータを作成する例です:
プロジェクトユーザーは、oc describe QUOTA コマンドを使用して、現在のプロジェクトに適用されているクラスターレベルのリソースクォータを表示できます。
クラスターレベルのリソースクォータを削除するには、oc delete コマンドを使用します:
注意: 100 以上のプロジェクトに適用される単一のクラスターレベルのリソースクォータを設定することはお勧めしません。大規模なロックオーバーヘッドを避けるためです。プロジェクト内でリソースが作成または更新されると、すべての適用されるリソースクォータを検索するためにプロジェクトがロックされます。

参考文献
さらに詳細な情報は、Red Hat OpenShift Container Platform 3.9 のインストールガイドおよび開発者ガイドの Quotas and Limit Ranges チャプターで確認できます。
 
相关文章
RedHat EX200 本番近い試験問題集
Lazy loaded image
RedHat EX200 本番試験問題集(有料版)
Lazy loaded image
82- 第17章:導入総復習-3:OpenShiftにマルチコンテナデプロイのラボ
Lazy loaded image
81- 第17章:導入総復習-2:docker,KubernetesおよびOpenShiftのラボ
Lazy loaded image
80- 第17章:導入総復習-1:総合レビュー
Lazy loaded image
79- 第16章:OpenShiftの管理と監視-8:ラボ
Lazy loaded image
72- 第16章:OpenShiftの管理と監視-2:リソース制限の演習70- 第15章:メトリクスサブシステムのインストールと設定-4:メトリクスサブシステムのインストールの演習
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
35条書面-64問-1
2025年6月13日
TOKYO自習島
2025年6月10日
平成26年秋期 午後問1
2025年6月6日
令和5年秋期 午後問1
2025年6月6日
令和2年秋期 午後問1
2025年6月6日
業務上の規制-87問-1
2025年6月4日
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
📖 博客语言使用比例
🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!