My previous article “Inotify in Containers” has demonstrated that when ConfigMap is mounted as directories, any changes in the ConfigMap will propagate to related pods, and can be detected with inotify-like APIs. A follow-up question might be: what should a well-behaved application react to this trigger accordingly? What if it’s a ill-designed application? To clarify this I’ve conducted a series of experiments for 3 possible configmap-reloading strategies: Built-in auto-reloading apps External signals Pod rollout In this article I’m going to explain the experiments and preliminary findings.
My previous article “Inotify in Containers” has demonstrated that when ConfigMap is mounted as directories, any changes in the ConfigMap will propagate to related pods. A follow-up question might be: what if the ConfigMap is mounted as environment variables? Some said that the answer is NO in Kubernetes1; even in the old Docker world2. Therefore, I’d like to begin with a simple experiment to try to answer the question: After
It is usually necessary to watch for any changes in file systems, both in development and in production modes. For example, in the development mode Webpack can watch files and recompile whenever they change; in the production mode Consul Template can watch runtime configs and invoke specific applications whenever they change. These are well-known scenarios in traditional pre-container world. How about the container world? Do they behave the same in