Configuration files define where the runtime stores its data and how it handles symlinks. For example, containerd stores its data in /var/lib/containerd , while CRI-O defaults to /var/lib/containers/storage . The storage driver (usually overlay ) uses symlinks within these directories to organize layers. The /etc/containers/storage.conf file allows you to customize these locations and control temporary data paths.
When dealing with symlink corruption in CRI-O, the recommended solution is to perform a storage reset. The crio wipe command clears the ephemeral storage, forcing the runtime to rebuild its state and symlink structure from scratch. The process involves cordoning and draining the node, stopping kubelet and crio services, wiping storage, and restarting the services. cri file system tools link
A classic error message is: "error recreating the missing symlinks: error reading name of symlink for XXX: open /var/lib/containers/storage/overlay/XXX/link: no such file or directory" . This indicates that CRI-O or containerd cannot locate the necessary link file, which typically contains the ID of the parent layer. This can render a node NotReady and block pod creation. Configuration files define where the runtime stores its