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 EOF
ContainerRuntimeConfig
オブジェクト設定を適用するには、以下を実行します。$ 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"