第5章 既知の問題
このセクションでは、OpenShift sandboxed containers 1.10 の既知の問題を説明します。
CPU がオフラインの場合、コンテナーの CPU リソース制限を増やせない
要求された CPU がオフラインの場合に、コンテナーの CPU リソース制限を使用して Pod で使用可能な CPU の数を増やすと失敗します。この機能が利用可能な場合は、oc rsh <pod>
コマンドを実行して Pod にアクセスし、次に lscpu
コマンドを実行することで、CPU リソースの問題を診断できます。
lscpu
$ lscpu
出力例:
CPU(s): 16 On-line CPU(s) list: 0-12,14,15 Off-line CPU(s) list: 13
CPU(s): 16
On-line CPU(s) list: 0-12,14,15
Off-line CPU(s) list: 13
オフライン CPU のリストは予測不可能で、実行ごとにリストが異なる可能性があります。
この問題を回避するには、次の例のように Pod アノテーションを使用して追加の CPU をリクエストします。
metadata: annotations: io.katacontainers.config.hypervisor.default_vcpus: "16"
metadata:
annotations:
io.katacontainers.config.hypervisor.default_vcpus: "16"
sizeLimit
を増やしても一時ボリュームは拡張されない
ボリュームサイズはデフォルトで、sandboxed container に割り当てられたメモリーの 50% であるため、Pod 仕様の sizeLimit
パラメーターを使用して一時ボリュームを拡張できません。
この問題を回避するには、ボリュームを再マウントしてサイズを変更します。たとえば、sandboxed container に割り当てられたメモリーが 6 GB で、一時ボリュームが /var/lib/containers
にマウントされている場合、次のコマンドを実行して、このボリュームのサイズをデフォルトの 3 GB より大きくすることができます。
mount -o remount,size=4G /var/lib/containers
$ mount -o remount,size=4G /var/lib/containers
マウントコマンドは Pod 内で実行する必要があることに注意してください。これを Pod マニフェスト自体の一部として使用することも、oc rsh
を実行して Pod 内でシェルセッションを起動し、mount
コマンドを実行することもできます。