From 3f0f1ceba070fb509fad8115f95dde34a23c36ce Mon Sep 17 00:00:00 2001 From: Eric Ernst Date: Thu, 3 Jun 2021 09:16:11 -0700 Subject: [PATCH] docs: inotify: add initial documentation We're introducing a workaround for enabling users to utilize inotify on mounts that are backed by virtiofs. Let's add some documentation on how this work. Signed-off-by: Eric Ernst --- docs/design/README.md | 1 + .../design/arch-images/inotify-workaround.png | Bin 0 -> 103479 bytes docs/design/inotify.md | 30 ++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 docs/design/arch-images/inotify-workaround.png create mode 100644 docs/design/inotify.md diff --git a/docs/design/README.md b/docs/design/README.md index b305ce342..b6b8c59fa 100644 --- a/docs/design/README.md +++ b/docs/design/README.md @@ -8,4 +8,5 @@ Kata Containers design documents: - [VSocks](VSocks.md) - [VCPU handling](vcpu-handling.md) - [Host cgroups](host-cgroups.md) +- [`Inotify` support](inotify.md) - [Metrics(Kata 2.0)](kata-2-0-metrics.md) diff --git a/docs/design/arch-images/inotify-workaround.png b/docs/design/arch-images/inotify-workaround.png new file mode 100644 index 0000000000000000000000000000000000000000..8184d3f38953ef77ebf0b141915b327704a7e34d GIT binary patch literal 103479 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 WMe8yy81JWBuPx1O&sLdv-Tp7}nuf^$ literal 0 HcmV?d00001 diff --git a/docs/design/inotify.md b/docs/design/inotify.md new file mode 100644 index 000000000..85072c3b1 --- /dev/null +++ b/docs/design/inotify.md @@ -0,0 +1,30 @@ +# Kata Containers support for `inotify` + +## Background on `inotify` usage + +A common pattern in Kubernetes is to watch for changes to files/directories passed in as `ConfigMaps` +or `Secrets`. Sidecar's normally use `inotify` to watch for changes and then signal the primary container to reload +the updated configuration. Kata Containers typically will pass these host files into the guest using `virtiofs`, which +does not support `inotify` today. While we work to enable this use case in `virtiofs`, we introduced a workaround in Kata Containers. +This document describes how Kata Containers implements this workaround. + +### Detecting a `watchable` mount + +Kubernetes creates `secrets` and `ConfigMap` mounts at very specific locations on the host filesystem. For container mounts, +the `Kata Containers` runtime will check the source of the mount to identify these special cases. For these use cases, only a single file +or very few would typically need to be watched. To avoid excessive overheads in making a mount watchable, +we enforce a limit of eight files per mount. If a `secret` or `ConfigMap` mount contains more than 8 files, it will not be +considered watchable. We similarly enforce a limit of 1 MB per mount to be considered watchable. Non-watchable mounts will +continue to propagate changes from the mount on the host to the container workload, but these updates will not trigger an +`inotify` event. + +If at any point a mount grows beyond the eight file or 1MB limit, it will no longer be `watchable.` + +### Presenting a `watchable` mount to the workload + +For mounts that are considered `watchable`, inside the guest, the `kata-agent` will poll the mount presented from +the host through `virtiofs` and copy any changed files to a `tmpfs` mount that is presented to the container. In this way, +for `watchable` mounts, Kata will do the polling on behalf of the workload and existing workloads needn't change their usage +of `inotify`. + +![drawing](arch-images/inotify-workaround.png)