This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第44章 クラスター容量の分析
44.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、クラスター容量ツールを使用して、現在のリソースが使い切られる前にそれらを増やすべくスケジュール可能な Pod 数を表示し、スケジュール可能な Pod 数を表示したり、Pod を今後スケジュールできるようにすることができます。この容量は、クラスター内の個別ノードからのものを集めたものであり、これには CPU、メモリー、ディスク領域などが含まれます。
クラスター容量ツールはより正確な見積もりを出すべく、スケジュールの一連の意思決定をシミュレーションし、リソースが使い切られる前にクラスターでスケジュールできる入力 Pod のインスタンス数を判別します。
ノード間に分散しているすべてのリソースがカウントされないため、残りの割り当て可能な容量は概算となります。残りのリソースのみが分析対象となり、クラスターでのスケジュール可能な所定要件を持つ Pod のインスタンス数という点から消費可能な容量を見積もります。
Pod のスケジューリングはその選択およびアフィニティー条件に基づいて特定のノードセットについてのみサポートされる可能性があります。そのため、クラスターでスケジュール可能な残りの Pod 数を見積もることが困難になる場合があります。
クラスター容量分析ツールは、コマンドラインからスタンドアロンのユーティリティーとして実行することも、OpenShift Container Platform クラスター内の Pod でジョブとして実行することもできます。これを Pod 内のジョブとして実行すると、介入なしに複数回実行することができます。
44.2. コマンドラインでのクラスター容量分析の実行 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインでツールを実行するには、以下を実行します。
cluster-capacity --kubeconfig <path-to-kubeconfig> \ --podspec <path-to-pod-spec>
$ cluster-capacity --kubeconfig <path-to-kubeconfig> \
--podspec <path-to-pod-spec>
--kubeconfig
オプションは Kubernetes 設定ファイルを示し、--podspec
オプションはツールがリソース使用状況を見積もるために使用するサンプル Pod 仕様ファイルを示します。podspec
はそのリソース要件を limits
または requests
として指定します。クラスター容量ツールは、Pod のリソース要件をその見積もりの分析に反映します。
Pod 仕様入力の例は以下の通りです。
--verbose
オプションを追加して、クラスター内の各ノードにスケジュールできる Pod 数についての詳細説明を出力できます。
cluster-capacity --kubeconfig <path-to-kubeconfig> \ --podspec <path-to-pod-spec> --verbose
$ cluster-capacity --kubeconfig <path-to-kubeconfig> \
--podspec <path-to-pod-spec> --verbose
出力は以下のようになります。
上記の例では、クラスターにスケジュールできる Pod の見積り数は 52 です。
44.3. Pod 内のジョブとしてのクラスター容量分析の実行 リンクのコピーリンクがクリップボードにコピーされました!
クラスター容量ツールを Pod 内のジョブとして実行すると、ユーザーの介入なしに複数回実行できるという利点があります。クラスター容量ツールをジョブとして実行するには、ConfigMap
を使用する必要があります。
クラスターロールを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントを作成します。
oc create sa cluster-capacity-sa
$ oc create sa cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールをサービスアカウントに追加します。
oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
$ oc adm policy add-cluster-role-to-user cluster-capacity-role \ system:serviceaccount:default:cluster-capacity-sa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod 仕様を定義し、作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター容量分析は、
cluster-capacity-configmap
という名前のConfigMap
を使用してボリュームにマウントされ、入力 Pod 仕様ファイルpod.yaml
はパス/test-pod
のボリュームtest-volume
にマウントされます。ConfigMap
を作成していない場合は、ジョブの作成前にこれを作成します。oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
$ oc create configmap cluster-capacity-configmap \ --from-file=pod.yaml=pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ジョブ仕様ファイルの以下のサンプルを使用してジョブを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クラスター容量ツールにクラスター内で Pod として実行されていることを認識させる環境変数です。
ConfigMap
のpod.yaml
キーは Pod 仕様ファイル名と同じですが、これは必須ではありません。これを実行することで、入力 Pod 仕様ファイルは/test-pod/pod.yaml
として Pod 内でアクセスできます。
クラスター容量イメージを Pod のジョブとして実行します。
oc create -f cluster-capacity-job.yaml
$ oc create -f cluster-capacity-job.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ジョブログを確認し、クラスター内でスケジュールできる Pod の数を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow