容器・ポッド用ポッドcontainers--構成やCPUリソースの割り当て

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ポッドは妥当な数に制限されて使用することができます。

おすすめ

転載: www.cnblogs.com/UniqueColor/p/11607629.html