Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- I0115 17:24:43.670426 302697 start.go:74] Version: machine-config-daemon-4.3.0-201910280117-126-g927a3079-dirty (927a3079840b596c77456cd181635ed3edb84254)
- I0115 17:24:43.672127 302697 start.go:84] Calling chroot("/rootfs")
- I0115 17:24:43.672243 302697 rpm-ostree.go:366] Running captured: rpm-ostree status --json
- I0115 17:24:44.195828 302697 daemon.go:210] Booted osImageURL: registry.svc.ci.openshift.org/origin/4.4-2020-01-14-215321@sha256:e16075809c80f31f3a7b2dc46e84a13bfe7b5c255280bd7cd05708a7333f34fd ()
- I0115 17:24:44.198558 302697 metrics.go:106] Registering Prometheus metrics
- I0115 17:24:44.198693 302697 metrics.go:111] Starting metrics listener on 127.0.0.1:8797
- I0115 17:24:44.201391 302697 update.go:1042] Starting to manage node: master-0
- I0115 17:24:44.205662 302697 rpm-ostree.go:366] Running captured: rpm-ostree status
- I0115 17:24:44.212625 302697 daemon.go:591] Detected a new login session: New session 1 of user core.
- I0115 17:24:44.212664 302697 daemon.go:592] Login access is discouraged! Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:24:44.595133 302697 daemon.go:779] State: idle
- AutomaticUpdates: disabled
- Deployments:
- * pivot://registry.svc.ci.openshift.org/origin/4.4-2020-01-14-215321@sha256:e16075809c80f31f3a7b2dc46e84a13bfe7b5c255280bd7cd05708a7333f34fd
- CustomOrigin: Managed by machine-config-operator
- Timestamp: 2020-01-14T21:50:32Z
- ostree://fedora:fedora/x86_64/coreos/stable
- Version: 31.20200113.3.1 (2020-01-14T00:20:15Z)
- Commit: f480038412cba26ab010d2cd5a09ddec736204a6e9faa8370edaa943cf33c932
- GPGSignature: Valid signature by 7D22D5867F2A4236474BF7B850CB390B3C3359C4
- I0115 17:24:44.595164 302697 rpm-ostree.go:366] Running captured: journalctl --list-boots
- I0115 17:24:44.600628 302697 daemon.go:786] journalctl --list-boots:
- -1 9e42051e695c4b498bbd71a8ad0ed391 Wed 2020-01-15 15:45:16 UTC—Wed 2020-01-15 15:50:57 UTC
- 0 fdf96aa48a6a4621bb88df0dfea4ec58 Wed 2020-01-15 15:51:06 UTC—Wed 2020-01-15 17:24:44 UTC
- I0115 17:24:44.600657 302697 daemon.go:529] Starting MachineConfigDaemon
- I0115 17:24:44.600756 302697 daemon.go:536] Enabling Kubelet Healthz Monitor
- W0115 17:24:44.600779 302697 daemon.go:557] Got an error from auxiliary tools: error: cannot apply annotation for SSH access due to: unable to update node "nil": node "master-0" not found
- I0115 17:25:07.477181 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:07.477208 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:25:07.482183 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:25:07.482212 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:25:07.492855 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:25:07.493880 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:25:07.493933 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:09.512590 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:09.512614 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:25:09.517472 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:25:09.517495 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:25:09.526581 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:25:09.527270 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:25:09.527302 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:17.538856 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:17.538879 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:25:17.543601 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:25:17.543630 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:25:17.553449 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:25:17.554174 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:25:17.554200 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:33.565105 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:25:33.565131 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:25:33.569985 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:25:33.570004 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:25:33.580277 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:25:33.580967 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:25:33.580994 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:26:05.592388 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:26:05.592420 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:26:05.597271 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:26:05.597294 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:26:05.606854 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:26:05.607648 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:26:05.607694 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:27:05.619669 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:27:05.619772 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:27:05.625101 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:27:05.625124 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:27:05.634145 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:27:05.634849 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:27:05.634877 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:28:05.646135 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:28:05.646162 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:28:05.650982 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:28:05.651006 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:28:05.661019 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:28:05.661929 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:28:05.661961 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:29:05.674704 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:29:05.674727 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:29:05.679783 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:29:05.679804 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:29:05.690148 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:29:05.690825 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:29:05.690854 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:30:05.702659 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:30:05.702681 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:30:05.707501 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:30:05.707541 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:30:05.716453 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:30:05.717179 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:30:05.717207 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:31:05.730431 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:31:05.730455 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:31:05.735232 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:31:05.735261 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:31:05.744551 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:31:05.745279 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:31:05.745307 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:32:05.757302 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:32:05.757324 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:32:05.762332 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:32:05.762353 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:32:05.771707 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:32:05.772626 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:32:05.772666 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:33:05.784886 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:33:05.784911 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:33:05.790280 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:33:05.790301 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:33:05.800499 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:33:05.801180 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:33:05.801215 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:34:05.813392 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:34:05.813429 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:34:05.818481 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:34:05.818503 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:34:05.827600 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:34:05.828310 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:34:05.828348 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:35:05.839022 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:35:05.839045 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:35:05.844030 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:35:05.844055 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:35:05.853359 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:35:05.854052 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:35:05.854082 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:36:05.865173 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:36:05.865196 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:36:05.869998 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:36:05.870020 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:36:05.879205 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:36:05.879896 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:36:05.879928 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:37:05.892234 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:37:05.892266 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:37:05.897621 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:37:05.897641 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:37:05.907140 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:37:05.907880 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:37:05.907911 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:38:05.919499 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:38:05.919523 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:38:05.924520 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:38:05.924541 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:38:05.933992 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:38:05.934726 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:38:05.934754 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:39:05.947667 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:39:05.947693 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:39:05.952560 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:39:05.952590 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:39:05.962790 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:39:05.963492 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:39:05.963519 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:40:05.975687 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:40:05.975715 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:40:05.980598 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:40:05.980620 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:40:05.989363 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:40:05.990073 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:40:05.990112 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:41:06.002502 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:41:06.002526 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:41:06.007510 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:41:06.007533 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:41:06.017207 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:41:06.017893 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:41:06.017923 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:42:06.029922 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:42:06.029947 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:42:06.034938 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:42:06.034958 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:42:06.045072 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:42:06.045763 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:42:06.045791 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:43:06.057845 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:43:06.057869 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:43:06.063605 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:43:06.063636 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:43:06.072488 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:43:06.073900 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:43:06.074199 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:44:06.085488 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:44:06.085511 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:44:06.090673 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:44:06.090705 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:44:06.100500 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:44:06.101221 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:44:06.101260 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:45:06.113302 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:45:06.113325 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:45:06.118459 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:45:06.118479 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:45:06.126986 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:45:06.127686 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:45:06.127711 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:46:06.138927 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:46:06.138951 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:46:06.143912 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:46:06.143936 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:46:06.152491 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:46:06.153249 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:46:06.153282 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:47:06.164512 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:47:06.164537 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:47:06.169515 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:47:06.169544 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:47:06.178911 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:47:06.179674 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:47:06.179700 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:48:06.190415 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:48:06.190439 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:48:06.195223 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:48:06.195243 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:48:06.204056 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:48:06.204755 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:48:06.204783 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:49:06.216409 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:49:06.216435 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:49:06.221340 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:49:06.221361 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:49:06.230894 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:49:06.231611 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:49:06.231646 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:50:06.244394 302697 daemon.go:732] Current config: rendered-master-e2a805b316c5016aff453a0d6ec14a67
- I0115 17:50:06.244424 302697 daemon.go:733] Desired config: rendered-master-f7c90a51aac7e8130e54f1006f194ed0
- I0115 17:50:06.249372 302697 daemon.go:423] Detected a login session before the daemon took over on first boot
- I0115 17:50:06.249393 302697 daemon.go:424] Applying annotation: machineconfiguration.openshift.io/ssh
- I0115 17:50:06.259453 302697 daemon.go:959] Validating against current config rendered-master-e2a805b316c5016aff453a0d6ec14a67
- E0115 17:50:06.260156 302697 daemon.go:1351] content mismatch for file /etc/crio/crio.conf: # The CRI-O configuration file specifies all of the available configuration
- # options and command-line flags for the crio(8) OCI Kubernetes Container Runtime
- # daemon, but in a TOML format that can be more easily modified and versioned.
- #
- # Please refer to crio.conf(5) for details of all configuration options.
- # CRI-O supports partial configuration reload during runtime, which can be
- # done by sending SIGHUP to the running process. Currently supported options
- # are explicitly mentioned with: 'This option supports live configuration
- # reload'.
- # CRI-O reads its storage defaults from the containers-storage.conf(5) file
- # located at /etc/containers/storage.conf. Modify this storage configuration if
- # you want to change the system's defaults. If you want to modify storage just
- # for CRI-O, you can change the storage configuration options here.
- [crio]
- # Path to the "root directory". CRI-O stores all of its data, including
- # containers images, in this directory.
- #root = "/var/lib/containers/storage"
- # Path to the "run directory". CRI-O stores all of its state in this directory.
- #runroot = "/run/user/1000"
- # Storage driver used to manage the storage of images and containers. Please
- # refer to containers-storage.conf(5) to see all available storage drivers.
- #storage_driver = "overlay"
- # List to pass options to the storage driver. Please refer to
- # containers-storage.conf(5) to see all available storage options.
- #storage_option = [
- #]
- # The default log directory where all logs will go unless directly specified by
- # the kubelet. The log directory specified must be an absolute directory.
- # log_dir = "/var/log/crio/pods"
- # Location for CRI-O to lay down the version file
- # version_file = "/var/lib/crio/version"
- # The crio.api table contains settings for the kubelet/gRPC interface.
- [crio.api]
- # Path to AF_LOCAL socket on which CRI-O will listen.
- # listen = "/var/run/crio/crio.sock"
- # Host IP considered as the primary IP to use by CRI-O for things such as host network IP.
- # host_ip = ""
- # IP address on which the stream server will listen.
- stream_address = ""
- # The port on which the stream server will listen.
- stream_port = "10010"
- # Enable encrypted TLS transport of the stream server.
- # stream_enable_tls = false
- # Path to the x509 certificate file used to serve the encrypted stream. This
- # file can change, and CRI-O will automatically pick up the changes within 5
- # minutes.
- # stream_tls_cert = ""
- # Path to the key file used to serve the encrypted stream. This file can
- # change and CRI-O will automatically pick up the changes within 5 minutes.
- # stream_tls_key = ""
- # Path to the x509 CA(s) file used to verify and authenticate client
- # communication with the encrypted stream. This file can change and CRI-O will
- # automatically pick up the changes within 5 minutes.
- # stream_tls_ca = ""
- # Maximum grpc send message size in bytes. If not set or <=0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_send_msg_size = 16777216
- # Maximum grpc receive message size. If not set or <= 0, then CRI-O will default to 16 * 1024 * 1024.
- # grpc_max_recv_msg_size = 16777216
- # The crio.runtime table contains settings pertaining to the OCI runtime used
- # and options for how to set up and manage the OCI runtime.
- [crio.runtime]
- # A list of ulimits to be set in containers by default, specified as
- # "<ulimit name>=<soft limit>:<hard limit>", for example:
- # "nofile=1024:2048"
- # If nothing is set here, settings will be inherited from the CRI-O daemon
- #default_ulimits = [
- #]
- # default_runtime is the _name_ of the OCI runtime to be used as the default.
- # The name is matched against the runtimes map below.
- # default_runtime = "runc"
- # If true, the runtime will not use pivot_root, but instead use MS_MOVE.
- # no_pivot = false
- # Path to the conmon binary, used for monitoring the OCI runtime.
- # Will be searched for using $PATH if empty.
- conmon = "/usr/libexec/crio/conmon"
- # Cgroup setting for conmon
- conmon_cgroup = "pod"
- # Environment variable list for the conmon process, used for passing necessary
- # environment variables to conmon or the runtime.
- # conmon_env = [
- # "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
- # ]
- # If true, SELinux will be used for pod separation on the host.
- # selinux = true
- # Path to the seccomp.json profile which is used as the default seccomp profile
- # for the runtime. If not specified, then the internal default seccomp profile
- # will be used.
- # seccomp_profile = "/etc/crio/seccomp.json"
- # Used to change the name of the default AppArmor profile of CRI-O. The default
- # profile name is "crio-default-" followed by the version string of CRI-O.
- apparmor_profile = "crio-default"
- # Cgroup management implementation used for the runtime.
- cgroup_manager = "systemd"
- # List of default capabilities for containers. If it is empty or commented out,
- # only the capabilities defined in the containers json file by the user/kube
- # will be added.
- # default_capabilities = [
- # "CHOWN",
- # "DAC_OVERRIDE",
- # "FSETID",
- # "FOWNER",
- # "NET_RAW",
- # "SETGID",
- # "SETUID",
- # "SETPCAP",
- # "NET_BIND_SERVICE",
- # "SYS_CHROOT",
- # "KILL",
- # ]
- # List of default sysctls. If it is empty or commented out, only the sysctls
- # defined in the container json file by the user/kube will be added.
- # default_sysctls = [
- # ]
- # List of additional devices. specified as
- # "<device-on-host>:<device-on-container>:<permissions>", for example: "--device=/dev/sdc:/dev/xvdc:rwm".
- #If it is empty or commented out, only the devices
- # defined in the container json file by the user/kube will be added.
- # additional_devices = [
- # ]
- # Path to OCI hooks directories for automatically executed hooks.
- # Note: the default is just /usr/share/containers/oci/hooks.d, but /usr is immutable in RHCOS
- # so we add /etc/containers/oci/hooks.d as well
- # /usr/share/containers/oci/hooks.d is not available in recent CRI-O
- hooks_dir = [
- "/etc/containers/oci/hooks.d",
- ]
- # List of default mounts for each container. **Deprecated:** this option will
- # be removed in future versions in favor of default_mounts_file.
- # default_mounts = [
- # "/usr/share/rhel/secrets:/run/secrets",
- # ]
- # Path to the file specifying the defaults mounts for each container. The
- # format of the config is /SRC:/DST, one mount per line. Notice that CRI-O reads
- # its default mounts from the following two files:
- #
- # 1) /etc/containers/mounts.conf (i.e., default_mounts_file): This is the
- # override file, where users can either add in their own default mounts, or
- # override the default mounts shipped with the package.
- #
- # 2) /usr/share/containers/mounts.conf: This is the default file read for
- # mounts. If you want CRI-O to read from a different, specific mounts file,
- # you can change the default_mounts_file. Note, if this is done, CRI-O will
- # only add mounts it finds in this file.
- #
- #default_mounts_file = ""
- # Maximum number of processes allowed in a container.
- # pids_limit = 1024
- # Maximum sized allowed for the container log file. Negative numbers indicate
- # that no size limit is imposed. If it is positive, it must be >= 8192 to
- # match/exceed conmon's read buffer. The file is truncated and re-opened so the
- # limit is never exceeded.
- # log_size_max = -1
- # Whether container output should be logged to journald in addition to the kuberentes log file
- # log_to_journald = false
- # Path to directory in which container exit files are written to by conmon.
- # container_exits_dir = "/var/run/crio/exits"
- # Path to directory for container attach sockets.
- # container_attach_socket_dir = "/var/run/crio"
- # The prefix to use for the source of the bind mounts.
- # bind_mount_prefix = ""
- # If set to true, all containers will run in read-only mode.
- # read_only = false
- # Changes the verbosity of the logs based on the level it is set to. Options
- # are fatal, panic, error, warn, info, and debug. This option supports live
- # configuration reload.
- # log_level = "error"
- # The UID mappings for the user namespace of each container. A range is
- # specified in the form containerUID:HostUID:Size. Multiple ranges must be
- # separated by comma.
- # uid_mappings = ""
- # The GID mappings for the user namespace of each container. A range is
- # specified in the form containerGID:HostGID:Size. Multiple ranges must be
- # separated by comma.
- # gid_mappings = ""
- # The minimal amount of time in seconds to wait before issuing a timeout
- # regarding the proper termination of the container.
- # ctr_stop_timeout = 0
- # ManageNetworkNSLifecycle determines whether we pin and remove network namespace
- # and manage its lifecycle.
- # manage_network_ns_lifecycle = false
- # The "crio.runtime.runtimes" table defines a list of OCI compatible runtimes.
- # The runtime to use is picked based on the runtime_handler provided by the CRI.
- # If no runtime_handler is provided, the runtime will be picked based on the level
- # of trust of the workload. Each entry in the table should follow the format:
- #
- #[crio.runtime.runtimes.runtime-handler]
- # runtime_path = "/path/to/the/executable"
- # runtime_type = "oci"
- # runtime_root = "/path/to/the/root"
- #
- # Where:
- # - runtime-handler: name used to identify the runtime
- # - runtime_path (optional, string): absolute path to the runtime executable in
- # the host filesystem. If omitted, the runtime-handler identifier should match
- # the runtime executable name, and the runtime executable should be placed
- # in $PATH.
- # - runtime_type (optional, string): type of runtime, one of: "oci", "vm". If
- # omitted, an "oci" runtime is assumed.
- # - runtime_root (optional, string): root directory for storage of containers
- # state.
- # [crio.runtime.runtimes.runc]
- # runtime_path = ""
- # runtime_type = "oci"
- # runtime_root = "/run/runc"
- # Kata Containers is an OCI runtime, where containers are run inside lightweight
- # VMs. Kata provides additional isolation towards the host, minimizing the host attack
- # surface and mitigating the consequences of containers breakout.
- # Kata Containers with the default configured VMM
- #[crio.runtime.runtimes.kata-runtime]
- # Kata Containers with the QEMU VMM
- #[crio.runtime.runtimes.kata-qemu]
- # Kata Containers with the Firecracker VMM
- #[crio.runtime.runtimes.kata-fc]
- # The crio.image table contains settings pertaining to the management of OCI images.
- #
- # CRI-O reads its configured registries defaults from the system wide
- # containers-registries.conf(5) located in /etc/containers/registries.conf. If
- # you want to modify just CRI-O, you can change the registries configuration in
- # this file. Otherwise, leave insecure_registries and registries commented out to
- # use the system's defaults from /etc/containers/registries.conf.
- [crio.image]
- # Default transport for pulling images from a remote container storage.
- # default_transport = "docker://"
- # The path to a file containing credentials necessary for pulling images from
- # secure registries. The file is similar to that of /var/lib/kubelet/config.json
- global_auth_file = "/var/lib/kubelet/config.json"
- # The image used to instantiate infra containers.
- # This option supports live configuration reload.
- pause_image = "registry.svc.ci.openshift.org/origin/4.4-2020-01-1
- A: 5-152306@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- B: 4-215321@sha256:2f68508143d397e98e2aa53967d28357263a10d0832d611bee1656b3a32ecbc2"
- # The path to a file containing credentials specific for pulling the pause_image from
- # above. The file is similar to that of /var/lib/kubelet/config.json
- # This option supports live configuration reload.
- pause_image_auth_file = "/var/lib/kubelet/config.json"
- # The command to run to have a container stay in the paused state.
- # This option supports live configuration reload.
- pause_command = "/usr/bin/pod"
- # Path to the file which decides what sort of policy we use when deciding
- # whether or not to trust an image that we've pulled. It is not recommended that
- # this option be used, as the default behavior of using the system-wide default
- # policy (i.e., /etc/containers/policy.json) is most often preferred. Please
- # refer to containers-policy.json(5) for more details.
- # signature_policy = ""
- # List of registries to skip TLS verification for pulling images. Please
- # consider configuring the registries via /etc/containers/registries.conf before
- # changing them here.
- #insecure_registries = "[]"
- # Controls how image volumes are handled. The valid values are mkdir, bind and
- # ignore; the latter will ignore volumes entirely.
- # image_volumes = "mkdir"
- # List of registries to be used when pulling an unqualified image (e.g.,
- # "alpine:latest"). By default, registries is set to "docker.io" for
- # compatibility reasons. Depending on your workload and usecase you may add more
- # registries (e.g., "quay.io", "registry.fedoraproject.org",
- # "registry.opensuse.org", etc.).
- #registries = [
- # ]
- # The crio.network table containers settings pertaining to the management of
- # CNI plugins.
- [crio.network]
- # Path to the directory where CNI configuration files are located.
- # Note this default is changed from the RPM.
- network_dir = "/etc/kubernetes/cni/net.d/"
- # Paths to directories where CNI plugin binaries are located.
- # Note this default is changed from the RPM.
- plugin_dirs = [
- "/var/lib/cni/bin",
- ]
- # A necessary configuration for Prometheus based metrics retrieval
- [crio.metrics]
- # Globally enable or disable metrics support.
- enable_metrics = true
- # The port on which the metrics server will listen.
- metrics_port = 9537
- E0115 17:50:06.260183 302697 writer.go:130] Marking Degraded due to: unexpected on-disk state validating against rendered-master-e2a805b316c5016aff453a0d6ec14a67
Advertisement
Add Comment
Please, Sign In to add comment