仮想ノードによってプロビジョニングされたポッドに割り当てられたリソース
Kubernetes Engine (OKE)の使用時に仮想ノードによってプロビジョニングされるポッドへのCPU、メモリーおよびストレージ・リソースの割当てで考慮する必要がある制限およびその他の要因についてご確認ください。
仮想ノードを使用する場合、リソース割当ては(ワーカー・ノード・レベルではなく)ポッド・レベルになります。
CPUおよびメモリーリソースの割り当て
CPUの数(Oracle CPUsまたはOCPUで表される)と、仮想ノードによってプロビジョニングされたポッドに割り当てるメモリーの量を計算するために、Kubernetes Engineは次のことを考慮します:
- ポッド仕様で指定された各コンテナのCPUおよびメモリー・リクエストおよび制限(存在する場合)
- ポッド内のコンテナ数
- kube-proxyおよびコンテナのランタイム要件(メモリーの0.25GB、CPUの無視)
ポッドCPUおよびメモリー・リクエストには、次の最小限が適用されます。
- 0.125 OCPU
- メモリーの0.5GB
コンテナのポッド仕様で指定されたCPUおよびメモリーの制限およびリクエストに関して、Kubernetes EngineはOCPUおよびメモリー割当ての計算時に次のルールを適用します:
- ポッド仕様に制限が指定されていてもリクエストがない場合、Kubernetes Engineは制限値を使用します。
- リクエストが指定されているが制限がない場合、Kubernetes Engineはリクエスト値を使用します。
- リクエストと制限の両方が指定されている場合、Kubernetes Engineは制限値を使用します。
- リクエストも制限も指定されていない場合、Kubernetes Engineはコンテナごとに0.125 OCPUおよび0.5GBを使用します。
仮想ノードによってプロビジョニングされるポッドには必ず保証された容量が付属しているため、制限およびリクエストは同じ値に設定することをお薦めします。
仮想ノードによってプロビジョニングされるポッドに割り当てることができるCPUの最大数は、仮想ノード・プールに指定されたシェイプ(およびプロセッサ)によって異なります。たとえば、Pod.Standard.E3の場合です。FlexおよびPod.Standard.E4。フレックス(AMD)シェイプ。最大数は64コア(128 vCPUs)です。
仮想ノードによってプロビジョニングされるポッドに割り当てられるOCPUの数によって、ポッドで使用可能なネットワーク帯域幅も決まります。OCPU当たり1Gbpsは、次の制限の対象となります:
- 40Gbpsの最大帯域幅制限
- 1Gbpsの最小帯域幅制限
OCPUおよびメモリー割当てを計算する場合、Kubernetes Engineは現在:
- CPU割当てを最も近いOCPUの整数に切り上げます。
- メモリー割当てを最も近いGBの整数に切り上げます。
ストレージ割当て
仮想ノードによってプロビジョニングされるポッドには、それぞれ15GBのストレージ領域が割り当てられ、ポッドで実行されているコンテナのルート・ファイル・システムを格納します。コンテナ・イメージでは、その15GBのストレージ割当ての一部が消費されることに注意してください。残りの割当ては、一時記憶域として使用するためにアプリケーションで使用できます。
リソースの課金
仮想ノードでKubernetesジョブを実行する場合、ジョブが完了または失敗した場合でも、ジョブが存在するかぎりジョブが使用するリソースに対して引き続き請求されます。したがって、リソースに対して不必要に請求されないようにするには、終了後にジョブを削除します。たとえば、kubectl delete job <job-name>
やkubectl delete -f <job-spec>.yaml
などのコマンドを使用します。