CPUのCPU要求が制限値を指定し、
コンテナのCPU要求を指定するには、リソースのリストにあるコンテナリソースは:フィールドを要求します。制限:CPUの制限、リソースの使用を指定します。
CPU-要求limit.yaml
1 apiVersion:V1の 2 種類:ポッド 3 メタデータ: 4 名:CPU- デモ 5 名前空間:CPU- 例 6 スペック: 7つの コンテナ: 8 -名:CPU-demo- CTR 9 画像:vish / 応力 10の リソース: 11個 の制限: 12 CPU:" 1 " 13個 の要求: 14 CPU:" 0.5 " 15個の 引数: 16 - - のCPU 17 - " 2 "
コンテナ内のコンフィギュレーション・ファイルの引数セクションは、パラメータを提供するために開始します。-cpus「2」の引数が2 CPUを使用しようとするためにコンテナに指示します。
ポッドの作成:
kubectlは-f CPU-要求limit.yamlを適用する- 名前空間 = CPU-例
PODが動作しているを確認します。
kubectl 取得 -ポッドCPU-デモ名前空間 = CPU-例
PODの詳細を表示します。
kubectl 取得 -ポッドCPU-デモ--output = YAML 名前空間 = CPU-例
ポッド出力は、コンテナがCPU 500 milliCPU限界を有し示す1とCPUは、CPUを要求します。
リソース: 制限: CPU:" 1 " の要求: CPU:500メートル
ポッドの測定値を得るためにkubectlトップを使用します。
kubectlトップポッドCPU-デモ- 名前空間 = CPU-例
974milliCPUを使用している。この例示的な表示出力ポッド、これは少なすぎる制限よりのみ指定された構成1CPUポッドです。
NAMEのCPU(コア)MEMORY(バイト)
CPU -demo 974メートル<何か>
「2」-cpuを設定することにより、以下のことを思い出して、容器は2つのCPUを使用しようとするように設定されていますが、コンテナはCPUのみについて許可されています。コンテナは、その限界を超えてCPUリソースを使用しようとしているので、CPUの使用コンテナが制限されています。
注意:CPUは、別の可能な説明は、ノードが十分に使用可能なCPUリソースではないかもしれないということである1.0未満を使用します。この演習のための前提条件は、各ノードが、少なくともCPUを持っている必要があることを思い出してください。コンテナは一つだけCPUノード上で実行されている場合に関係なく、CPUバウンドコンテナは、コンテナは、複数のCPUを使用することはできませんどのように指定します。
CPUユニット
対策のCPUユニットに基づいてCPUリソース。と同等のCPUでkubernetesで:
- 1 AWS VCPU
- 1 GCPコア
- 1紺碧VCORE
- ハイパースレッディング裸金属とIntelプロセッサ上でハイパースレッディング
これは、小数を使用できます。CPU要求は、要求0.5CPUコンテナ半1CPUコンテナであることを確認してください。あなたはミリを表現するために接尾辞mを使用することができます。例えば100M CPU、100mMのCPUとCPU 0.1は同じです。1メートル未満の可精度。
CPUコアコンピュータの同じ数の0.1単核、二核、または48;要求の絶対数ではなく、相対的量として常にCPU。
ポッドを削除します
ポッドCPU-デモを削除kubectl - 名前空間 = CPU-例を
ノードは、多くのCPUの要求であることを指定します
コンテナに関連付けられたCPU要求および制限は、ポッドおよび制限が有用でCPU要求を有するとみなされます。ポッドは、CPU要求は、コンテナ内のCPUポッドのためのすべての要求の合計です。同様に、CPUポッドポッド制限はCPUとすべてのコンテナの制限があります。
要求に基づいてポッドスケジューリング。ノードは、ポッドのCPU要求を満たすのに十分なCPUリソースを持っているときにのみ、ポッドのみのノードで実行するようにスケジュールされます。
ポッドを作成するように、そのCPU要求は、クラスタ内の任意のノードの能力を超えて、大きすぎます。これは、コンテナの設定ファイルのポッドです。クラスタ内の任意のノードの容量を超える可能性が要求容器100 CPU、。
CPU-要求限界-2.yaml
apiVersion:v1の 種類:ポッドの メタデータ: 名前:CPU -demo- 2 名前空間:CPU- 例の 仕様: コンテナ: -名前:CPU-デモ-ctr- 2 画像:vish / ストレス 資源: 制限: CPU:" 100 " 要求: CPU:" 100 " 引数: - - のCPU - " 2 "
ポッドの作成:
-f CPU-要求-リミット-側適用kubectl 2 - .yaml 名前空間 = CPU-例を
ビューPODの状態:
kubectl 取得ポッドCPU-demo- 2 - 名前空間 = CPU-例を
PODの出力状態表示は中断されます。言い換えれば、ポッドは、それが無期限に中断状態のままになります任意のノードで実行するようにスケジュールされていません。
kubectl 取得ポッドCPU-demo- 2 - 名前空間 = CPU-例を
AGEが再起動可能状態をNAME CPU -demo- 2 0 / 1を 保留 0 7メートル
イベントを含むPODの詳細情報を表示:
ポッドCPU-demo-説明kubectl 2 - ネームスペース = CPU-例
ノード上のCPUリソースが不足しているため、ディスプレイ出力は、あなたは、コンテナを計画することはできません。
イベント: 理由メッセージ ------ ------- ませノードをFailedSchedulingないが用意されている試合次の述語のすべて::不足CPU(3)。
ポッドを削除します。
ポッドCPU-demo-削除kubectl 2 - 名前空間 = CPU-例を
CPUの制限が指定されていない場合
コンテナ指定されていないCPU限度場合は、次のいずれかが適用されます。
- それは制限なく使用することができるCPUリソース容器。コンテナは、それが実行されているノード上で利用可能なすべてのCPUリソースを使用することができます。
- デフォルトのコンテナを持つCPUは、名前空間の実行制限され、コンテナは自動的にデフォルトの制限を割り当てます。クラスタ管理者は、LimitRangeは、CPUバウンドのデフォルト値を指定することができます。
CPUは、動機や限界を要求します
限られたコンテナおよびCPUのリクエストで実行中のクラスタ、およびクラスタノードの使用可能なCPUリソースの効率的な利用を構成することにより。低CPU要求ポッドを維持することにより、ポッドは、スケジュールするための良い機会を与えることができます。CPU制限することによって、あなたは2つのことを行うことができ、CPUの要求よりも大きいです。
- ポッドは、それがCPUリソースを活用することができ、予期しないイベントは、利用できるように起こることができます。
- バースト中のリソースCPUポッドは妥当な数に制限されて使用することができます。