仮想ノードによってプロビジョニングされたポッドに割り当てられたリソース

Container Engine for Kubernetes (OKE)の使用時に仮想ノードによってプロビジョニングされるポッドへのCPU、メモリーおよびストレージ・リソースの割当てで考慮する必要がある制限およびその他の要因についてご確認ください。

仮想ノードを使用する場合、リソース割当ては(ワーカー・ノード・レベルではなく)ポッド・レベルになります。

CPUおよびメモリーリソースの割り当て

CPUの数(Oracle CPUsまたはOCPUで表される)および仮想ノードによってプロビジョニングされるポッドに割り当てるメモリーの量を計算するために、Container Engine for Kubernetesでは次のものが考慮されます:

  • ポッド仕様で指定された各コンテナのCPUおよびメモリー・リクエストおよび制限(存在する場合)
  • ポッド内のコンテナ数
  • kube-proxyおよびコンテナのランタイム要件(メモリーの0.25GB、CPUの無視)

ポッドCPUおよびメモリー・リクエストには、次の最小限が適用されます。

  • 0.125 OCPU
  • メモリーの0.5GB

コンテナのポッド仕様で指定されたCPUおよびメモリーの制限およびリクエストに関して、Container Engine for Kubernetesは、OCPUおよびメモリーの割当てを計算するときに次のルールを適用します:

  • ポッド仕様に制限が指定されていてもリクエストがない場合、Container Engine for Kubernetesでは制限値が使用されます。
  • リクエストが指定されているが制限がない場合、Container Engine for Kubernetesはリクエスト値を使用します。
  • リクエストと制限の両方が指定されている場合、Container Engine for Kubernetesでは制限値が使用されます。
  • リクエストも制限も指定されていない場合、Container Engine for Kubernetesではコンテナ当たり0.125 OCPUおよび0.5GBが使用されます。

仮想ノードによってプロビジョニングされるポッドには必ず保証された容量が付属しているため、制限およびリクエストは同じ値に設定することをお薦めします。

仮想ノードによってプロビジョニングされるポッドに割り当てることができるCPUの最大数は、仮想ノード・プールに指定されたシェイプ(およびプロセッサ)によって異なります。たとえば、Pod.Standard.E3の場合です。FlexおよびPod.Standard.E4。フレックス(AMD)シェイプ。最大数は64コア(128 vCPUs)です。

仮想ノードによってプロビジョニングされるポッドに割り当てられるOCPUの数によって、ポッドで使用可能なネットワーク帯域幅も決まります。OCPU当たり1Gbpsは、次の制限の対象となります:

  • 40Gbpsの最大帯域幅制限
  • 1Gbpsの最小帯域幅制限
ノート

OCPUおよびメモリー割当てを計算する場合、Container Engine for Kubernetesは現在:

  • CPU割当てを最も近いOCPUの整数に切り上げます。
  • メモリー割当てを最も近いGBの整数に切り上げます。

ストレージ割当て

仮想ノードによってプロビジョニングされるポッドには、それぞれ15GBのストレージ領域が割り当てられ、ポッドで実行されているコンテナのルート・ファイル・システムを格納します。コンテナ・イメージでは、その15GBのストレージ割当ての一部が消費されることに注意してください。残りの割当ては、一時記憶域として使用するためにアプリケーションで使用できます。

リソースの課金

仮想ノードでKubernetesジョブを実行する場合、ジョブが完了または失敗した場合でも、ジョブが存在するかぎりジョブが使用するリソースに対して引き続き請求されます。したがって、リソースに対して不必要に請求されないようにするには、終了後にジョブを削除します。たとえば、kubectl delete job <job-name>kubectl delete -f <job-spec>.yamlなどのコマンドを使用します。