This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.3.2. 创建 ContainerRuntimeConfig CR 以编辑 CRI-O 参数
您可以为与特定机器配置池(MCP)关联的节点更改与 OpenShift Container Platform CRI-O 运行时关联的一些设置。通过使用 ContainerRuntimeConfig
自定义资源(CR),您可以设置配置值并添加一个标签以匹配 MCP。然后,MCO 会使用更新的值重建关联节点上的 crio.conf
和 storage.conf
配置文件。
要使用 ContainerRuntimeConfig
CR 恢复实现的更改,您必须删除 CR。从机器配置池中删除标签不会恢复更改。
您可以使用 ContainerRuntimeConfig
CR 修改以下设置:
-
PIDs limit:
pidsLimit
参数设置 CRI-Opids_limit
参数,这是容器中允许的最大进程数。默认为 1024(pids_limit = 1024
)。 -
日志级别:
logLevel
参数设置 CRI-Olog_level
参数,即日志消息的详细程度。默认为info
(log_level = info
)。其他选项包括fatal
、panic
、error
、warn
、debug
和trace
。 -
Overlay 大小:
overlaySize
参数设置 CRI-O Overlay 存储驱动程序size
参数,这是容器镜像的最大大小。 -
最大日志大小:
logSizeMax
参数设置 CRI-Olog_size_max
参数,这是容器日志文件允许的最大值。默认为没有限制(log_size_max = -1
)。如果设置为正数,则必须至少小于 ConMon 读取缓冲的 8192。conMon 是一个监控单个容器管理器(如 Podman 或 CRI-O)与 OCI 运行时(如 runc 或 crun)之间的通信的程序。
您应该为每个机器配置池有一个ContainerRuntimeConfig
CR,并为该池分配所有配置更改。如果要将相同的内容应用到所有池,则所有池只需要 oneContainerRuntimeConfig
CR。
您应该编辑现有的 ContainerRuntimeConfig
CR,以修改现有设置或添加新设置,而不是为每个更改创建新 CR。建议您只创建一个新的 ContainerRuntimeConfig
CR 来修改不同的机器配置池,或者用于临时的更改,以便您可以恢复更改。
您可以根据需要创建多个 ContainerRuntimeConfig
CR,每个集群的限制为 10。对于第一个 ContainerRuntimeConfig
CR,MCO 会创建一个机器配置并附加 containerruntime
。对于每个后续 CR,控制器会创建一个带有数字后缀的新 containerruntime
机器配置。例如,如果您有一个带有 -2
后缀的 containerruntime
机器配置,则下一个 containerruntime
机器配置会附加 -3
。
如果要删除机器配置,应该以相反的顺序删除它们,以避免超过限制。例如,您应该在删除 containerruntime-2
机器配置前删除 containerruntime-3
机器配置。
如果您的机器配置带有 containerruntime-9
后缀,并且创建了 anotherContainerRuntimeConfig
CR,则不会创建新的机器配置,即使少于 10 个 containerruntime
机器配置。
显示多个 ContainerRuntimeConfig
CR 示例
oc get ctrcfg
$ oc get ctrcfg
输出示例
NAME AGE ctr-pid 24m ctr-overlay 15m ctr-level 5m45s
NAME AGE
ctr-pid 24m
ctr-overlay 15m
ctr-level 5m45s
显示多个 containerruntime
机器配置示例
oc get mc | grep container
$ oc get mc | grep container
输出示例
以下示例将 pids_limit
增加到 2048,将 log_level
设置为 debug
,将覆盖大小设置为 8 GB,并将 log_size_max
设置为无限:
ContainerRuntimeConfig
CR 示例
流程
使用 ContainerRuntimeConfig
CR 更改 CRI-O 设置:
为
ContainerRuntimeConfig
CR 创建 YAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ContainerRuntimeConfig
CR:oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证是否已创建 CR:
oc get ContainerRuntimeConfig
$ oc get ContainerRuntimeConfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE overlay-size 3m19s
NAME AGE overlay-size 3m19s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查是否创建了新的
containerruntime
机器配置:oc get machineconfigs | grep containerrun
$ oc get machineconfigs | grep containerrun
Copy 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 31s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 监控机器配置池,直到所有系统都显示为 ready 状态:
oc get mcp worker
$ oc get mcp worker
Copy 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 9h
Copy 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 /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
crio.conf
文件中的更改:crio config | egrep 'log_level|pids_limit|log_size_max'
sh-4.4# crio config | egrep 'log_level|pids_limit|log_size_max'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
pids_limit = 2048 log_size_max = -1 log_level = "debug"
pids_limit = 2048 log_size_max = -1 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.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow