1
-
2
1
# The CRI-O configuration file specifies all of the available configuration
3
2
# options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
4
3
# daemon, but in a TOML format that can be more easily modified and versioned.
@@ -32,21 +31,22 @@ storage_driver = ""
32
31
storage_option = [
33
32
]
34
33
35
- # If set to false, in-memory locking will be used instead of file-based locking.
36
- # **Deprecated** this option will be removed in the future.
37
- file_locking = false
38
-
39
- # Path to the lock file.
40
- # **Deprecated** this option will be removed in the future.
41
- file_locking_path = "/run/crio.lock"
34
+ # The default log directory where all logs will go unless directly specified by
35
+ # the kubelet. The log directory specified must be an absolute directory.
36
+ log_dir = "/var/log/crio/pods"
42
37
38
+ # Location for CRI-O to lay down the version file
39
+ version_file = "/var/lib/crio/version"
43
40
44
41
# The crio.api table contains settings for the kubelet/gRPC interface.
45
42
[crio.api]
46
43
47
44
# Path to AF_LOCAL socket on which CRI-O will listen.
48
45
listen = "/var/run/crio/crio.sock"
49
46
47
+ # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
48
+ host_ip = ""
49
+
50
50
# IP address on which the stream server will listen.
51
51
stream_address = "127.0.0.1"
52
52
@@ -62,11 +62,11 @@ stream_enable_tls = false
62
62
stream_tls_cert = ""
63
63
64
64
# Path to the key file used to serve the encrypted stream. This file can
65
- # change, and CRI-O will automatically pick up the changes within 5 minutes.
65
+ # change and CRI-O will automatically pick up the changes within 5 minutes.
66
66
stream_tls_key = ""
67
67
68
68
# Path to the x509 CA(s) file used to verify and authenticate client
69
- # communication with the encrypted stream. This file can change, and CRI-O will
69
+ # communication with the encrypted stream. This file can change and CRI-O will
70
70
# automatically pick up the changes within 5 minutes.
71
71
stream_tls_ca = ""
72
72
@@ -95,6 +95,7 @@ default_runtime = "runc"
95
95
no_pivot = false
96
96
97
97
# Path to the conmon binary, used for monitoring the OCI runtime.
98
+ # Will be searched for using $PATH if empty.
98
99
conmon = "/usr/libexec/crio/conmon"
99
100
100
101
# Cgroup setting for conmon
@@ -116,7 +117,7 @@ seccomp_profile = ""
116
117
117
118
# Used to change the name of the default AppArmor profile of CRI-O. The default
118
119
# profile name is "crio-default-" followed by the version string of CRI-O.
119
- apparmor_profile = "crio-default-1.15.2 "
120
+ apparmor_profile = "crio-default-1.16.3 "
120
121
121
122
# Cgroup management implementation used for the runtime.
122
123
cgroup_manager = "cgroupfs"
@@ -192,6 +193,9 @@ container_exits_dir = "/var/run/crio/exits"
192
193
# Path to directory for container attach sockets.
193
194
container_attach_socket_dir = "/var/run/crio"
194
195
196
+ # The prefix to use for the source of the bind mounts.
197
+ bind_mount_prefix = ""
198
+
195
199
# If set to true, all containers will run in read-only mode.
196
200
read_only = false
197
201
@@ -200,9 +204,6 @@ read_only = false
200
204
# configuration reload.
201
205
log_level = "error"
202
206
203
- # The default log directory where all logs will go unless directly specified by the kubelet
204
- log_dir = "/var/log/crio/pods"
205
-
206
207
# The UID mappings for the user namespace of each container. A range is
207
208
# specified in the form containerUID:HostUID:Size. Multiple ranges must be
208
209
# separated by comma.
@@ -224,14 +225,44 @@ manage_network_ns_lifecycle = false
224
225
# The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
225
226
# The runtime to use is picked based on the runtime_handler provided by the CRI.
226
227
# If no runtime_handler is provided, the runtime will be picked based on the level
227
- # of trust of the workload.
228
+ # of trust of the workload. Each entry in the table should follow the format:
229
+ #
230
+ #[crio.runtime.runtimes.runtime-handler]
231
+ # runtime_path = "/path/to/the/executable"
232
+ # runtime_type = "oci"
233
+ # runtime_root = "/path/to/the/root"
234
+ #
235
+ # Where:
236
+ # - runtime-handler: name used to identify the runtime
237
+ # - runtime_path (optional, string): absolute path to the runtime executable in
238
+ # the host filesystem. If omitted, the runtime-handler identifier should match
239
+ # the runtime executable name, and the runtime executable should be placed
240
+ # in $PATH.
241
+ # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
242
+ # omitted, an "oci" runtime is assumed.
243
+ # - runtime_root (optional, string): root directory for storage of containers
244
+ # state.
245
+
228
246
229
247
[crio.runtime.runtimes.runc]
230
248
runtime_path = "/usr/bin/runc"
231
249
runtime_type = "oci"
232
250
runtime_root = "/run/runc"
233
251
234
252
253
+ # Kata Containers is an OCI runtime, where containers are run inside lightweight
254
+ # VMs. Kata provides additional isolation towards the host, minimizing the host attack
255
+ # surface and mitigating the consequences of containers breakout.
256
+
257
+ # Kata Containers with the default configured VMM
258
+ #[crio.runtime.runtimes.kata-runtime]
259
+
260
+ # Kata Containers with the QEMU VMM
261
+ #[crio.runtime.runtimes.kata-qemu]
262
+
263
+ # Kata Containers with the Firecracker VMM
264
+ #[crio.runtime.runtimes.kata-fc]
265
+
235
266
# The crio.image table contains settings pertaining to the management of OCI images.
236
267
#
237
268
# CRI-O reads its configured registries defaults from the system wide
@@ -258,7 +289,9 @@ pause_image = "homeworld.private/pause@{PAUSE_DIGEST}"
258
289
pause_image_auth_file = ""
259
290
260
291
# The command to run to have a container stay in the paused state.
261
- # This option supports live configuration reload.
292
+ # When explicitly set to "", it will fallback to the entrypoint and command
293
+ # specified in the pause image. When commented out, it will fallback to the
294
+ # default: "/pause". This option supports live configuration reload.
262
295
pause_command = "/pause"
263
296
264
297
# Path to the file which decides what sort of policy we use when deciding
@@ -268,6 +301,11 @@ pause_command = "/pause"
268
301
# refer to containers-policy.json(5) for more details.
269
302
signature_policy = ""
270
303
304
+ # List of registries to skip TLS verification for pulling images. Please
305
+ # consider configuring the registries via /etc/containers/registries.conf before
306
+ # changing them here.
307
+ #insecure_registries = "[]"
308
+
271
309
# Controls how image volumes are handled. The valid values are mkdir, bind and
272
310
# ignore; the latter will ignore volumes entirely.
273
311
image_volumes = "mkdir"
@@ -292,3 +330,12 @@ network_dir = "/etc/cni/net.d/"
292
330
plugin_dirs = [
293
331
"/opt/cni/bin/",
294
332
]
333
+
334
+ # A necessary configuration for Prometheus based metrics retrieval
335
+ [crio.metrics]
336
+
337
+ # Globally enable or disable metrics support.
338
+ enable_metrics = false
339
+
340
+ # The port on which the metrics server will listen.
341
+ metrics_port = 9090
0 commit comments