2.3.2. CRI-O パラメーターを編集するための ContainerRuntimeConfig CR の作成
ContainerRuntimeConfig カスタムリソース定義 (CRD) は、OpenShift Container Platform CRI-O ランタイムに関連する設定を変更するための体系的な方法を提供します。ContainerRuntimeConfig カスタムリソース (CR) を使用して、必要な設定値を選択し、MCO は crio.conf および storage.conf 設定ファイルの再ビルドを処理します。
ContainerRuntimeConfig CR を使用して以下の設定を変更することができます。
-
PIDs limit:
pidsLimitパラメーターは、コンテナーで許可されるプロセスの最大数である CRI-Opids_limitパラメーターを設定します。デフォルトは 1024 (pids_limit = 1024) です。 -
Log level:
logLevelパラメーターは CRI-Olog_levelパラメーターを設定します。これはログメッセージの詳細レベルです。デフォルトはinfo(log_level = info) です。他のオプションには、fatal、panic、error、warn、debug、およびtraceが含まれます。 -
Overlay size:
overlaySizeパラメーターは、コンテナーイメージの最大サイズである CRI-O Overlay ストレージドライバーのsizeパラメーターを設定します。 -
Maximum log size:
logSizeMaxパラメーターは CRI-Olog_size_maxパラメーターを設定します。これは、コンテナーログファイルに許可される最大サイズです。デフォルトは無制限 (log_size_max = -1) です。これが正数に設定される場合、8192 以上にする必要があり、ConMon の読み取りバッファーよりも小さくすることはできません。ConMon は、単一コンテナーのコンテナーマネージャー (Podman、CRI-O など) と OCI ランタイム (runc または crun など) との間の通信を監視するプログラムです。
以下の手順では、ContainerRuntimeConfig CR を使用して CRI-O 設定を変更する方法を説明します。
手順
pidsLimitを 2048 に引き上げるには、logLevelをdebugに、overlaySizeを 8 GB に設定し、その設定が含まれる CR ファイル (例:overlay-size.yaml) を作成します。$ cat << EOF > /tmp/overlay-size.yaml apiVersion: machineconfiguration.openshift.io/v1 kind: ContainerRuntimeConfig metadata: name: overlay-size spec: machineConfigPoolSelector: matchLabels: custom-crio: overlay-size containerRuntimeConfig: pidsLimit: 2048 logLevel: debug overlaySize: 8G EOFContainerRuntimeConfigオブジェクト設定を適用するには、以下を実行します。$ oc create -f /tmp/overlay-size.yaml
YAML ファイルが設定を適用したことを確認するには、次のコマンドを実行します。
$ oc get ContainerRuntimeConfig NAME AGE overlay-size 3m19s
workerなどのマシンのプールを編集するには、以下のコマンドを実行してマシン設定プールを開きます。$ oc edit machineconfigpool worker
新規
containerruntimeオブジェクトがmachineconfigsの下に表示されることを確認します。$ oc get machineconfigs | grep containerrun 99-worker-generated-containerruntime 2c9371fbb673b97a6fe8b1c52691999ed3a1bfc2 3.1.0 31s
すべてが準備状態になるまで、マシンに展開される変更についてマシン設定プールをモニターします。
$ oc get mcp worker
出力例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE worker rendered-worker-169 False True False 3 1 1 0 9h
-
ワーカーノードに対して
oc debugセッションを開き、chroot/hostを実行します。 以下を実行して変更を確認します。
$ crio config | egrep 'log_level|pids_limit'
出力例
pids_limit = 2048 log_level = "debug"
$ head -n 7 /etc/containers/storage.conf
出力例
[storage] driver = "overlay" runroot = "/var/run/containers/storage" graphroot = "/var/lib/containers/storage" [storage.options] additionalimagestores = [] size = "8G"