4.2. CRI-O パラメーターを編集するための ContainerRuntimeConfig CR の作成
特定のマシン設定プール (MCP) に関連付けられたノードの OpenShift Container Platform CRI-O ランタイムに関連付けられる設定の一部を変更することができます。ContainerRuntimeConfig カスタムリソース (CR) を使用して、設定値を設定し、MCP に一致するラベルを追加します。次に、MCO は関連付けられたノードで crio.conf および storage.conf 設定ファイルを更新された値を使用して再ビルドします。
ContainerRuntimeConfig CR を使用して実装された変更を元に戻すには、CR を削除する必要があります。マシン設定プールからラベルを削除しても、変更は元に戻されません。
ContainerRuntimeConfig CR を使用して以下の設定を変更することができます。
PID 制限:
ContainerRuntimeConfigでの PID 制限の設定は非推奨になる予定です。PID 制限が必要な場合は、代わりにKubeletConfigCR のpodPidsLimitフィールドを使用することを推奨します。デフォルトのpodPidsLimit値は4096で、デフォルトのpids_limit値は0です。podPidsLimitがpids_limitより低いと、有効なコンテナー PID 制限はpodPidsLimitに設定された値により定義されます。注記CRI-O フラグはコンテナーの cgroup に適用され、Kubelet フラグは Pod の cgroup に設定されます。それに応じて PID 制限を調整してください。
-
Log level:
logLevelパラメーターは CRI-Olog_levelパラメーターを設定します。これはログメッセージの詳細レベルです。デフォルトはinfo(log_level = info) です。他のオプションには、fatal、panic、error、warn、debug、およびtraceが含まれます。 -
Overlay size:
overlaySizeパラメーターは、コンテナーイメージの最大サイズである CRI-O Overlay ストレージドライバーのsizeパラメーターを設定します。 -
最大ログサイズ:
ContainerRuntimeConfigでの最大ログサイズの設定は非推奨になる予定です。最大ログサイズが必要な場合は、代わりにKubeletConfigCR のcontainerLogMaxSizeフィールドを使用することを推奨します。 -
コンテナーランタイム:
defaultRuntimeパラメーターは、コンテナーランタイムをruncまたはcrunに設定します。デフォルトはruncです。
マシン設定プールごとに、そのプールに加える設定変更をすべて含めて、ContainerRuntimeConfig CR を 1 つ割り当てる必要があります。同じコンテンツをすべてのプールに適用している場合には、すべてのプールに必要となるのは ContainerRuntimeConfig CR 1 つだけです。
既存の ContainerRuntimeConfig CR を編集して既存の設定を編集するか、変更ごとに新規 CR を作成する代わりに新規の設定を追加する必要があります。異なるマシン設定プールを変更する場合や、変更が一時的で元に戻すことができる場合のみ、新しい ContainerRuntimeConfig CR の作成を推奨しています。
必要に応じて複数の ContainerRuntimeConfig CR を作成できます。この場合、制限はクラスターごとに 10 個となっています。最初の ContainerRuntimeConfig CR について、MCO は containerruntime で追加されたマシン設定を作成します。それぞれの後続の CR で、コントローラーは数字の接尾辞が付いた新規の containerruntime マシン設定を作成します。たとえば、containerruntime マシン設定に -2 接尾辞がある場合、次の containerruntime マシン設定が -3 を付けて追加されます。
マシン設定を削除する場合、制限を超えないようにそれらを逆の順序で削除する必要があります。たとえば、containerruntime-3 マシン設定を、containerruntime-2 マシン設定を削除する前に削除する必要があります。
接尾辞が containerruntime-9 のマシン設定があり、別の ContainerRuntimeConfig CR を作成する場合には、containerruntime マシン設定が 10 未満の場合でも新規マシン設定は作成されません。
複数の ContainerRuntimeConfig CR を示す例
oc get ctrcfg
$ oc get ctrcfg
出力例
NAME AGE ctr-overlay 15m ctr-level 5m45s
NAME AGE
ctr-overlay 15m
ctr-level 5m45s
複数の containerruntime マシン設定を示す例
oc get mc | grep container
$ oc get mc | grep container
出力例
次の例では、log_level フィールドを debug に設定し、オーバーレイサイズを 8 GB に設定します。
ContainerRuntimeConfig CR の例
手順
ContainerRuntimeConfig CR を使用して CRI-O 設定を変更するには、以下を実行します。
ContainerRuntimeConfigCR の YAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ContainerRuntimeConfigCR を作成します。oc create -f <file_name>.yaml
$ oc create -f <file_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow CR が作成されたことを確認します。
oc get ContainerRuntimeConfig
$ oc get ContainerRuntimeConfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME AGE overlay-size 3m19s
NAME AGE overlay-size 3m19sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規の
containerruntimeマシン設定が作成されていることを確認します。oc get machineconfigs | grep containerrun
$ oc get machineconfigs | grep containerrunCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
99-worker-generated-containerruntime 2c9371fbb673b97a6fe8b1c52691999ed3a1bfc2 3.2.0 31s
99-worker-generated-containerruntime 2c9371fbb673b97a6fe8b1c52691999ed3a1bfc2 3.2.0 31sCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてが準備状態にあるものとして表示されるまでマシン設定プールをモニターします。
oc get mcp worker
$ oc get mcp workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE worker rendered-worker-169 False True False 3 1 1 0 9h
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE worker rendered-worker-169 False True False 3 1 1 0 9hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 設定が CRI-O で適用されたことを確認します。
マシン設定プールのノードに対して
oc debugセッションを開き、chroot /hostを実行します。oc debug node/<node_name>
$ oc debug node/<node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host
sh-4.4# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow crio.confファイルの変更を確認します。crio config | grep 'log_level'
sh-4.4# crio config | grep 'log_level'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
log_level = "debug"
log_level = "debug"Copy to Clipboard Copied! Toggle word wrap Toggle overflow `storage.conf` ファイルの変更を確認します。
head -n 7 /etc/containers/storage.conf
sh-4.4# head -n 7 /etc/containers/storage.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow