Skip to content

Commit 2edc0b8

Browse files
committed
Document behaviour when optionally referenced configmap appears after the pod starts
1 parent 8b6bcb7 commit 2edc0b8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

content/en/docs/tasks/configure-pod-container/configure-pod-configmap.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -624,9 +624,15 @@ Like before, all previous files in the `/etc/config/` directory will be deleted.
624624
You can project keys to specific paths and specific permissions on a per-file
625625
basis. The [Secrets](/docs/concepts/configuration/secret/#using-secrets-as-files-from-a-pod) user guide explains the syntax.
626626

627+
### Optional References
628+
629+
A ConfigMap reference may be marked "optional". If the ConfigMap is non-existent, the mounted volume will be empty. If the ConfigMap exists, but the referenced key is non-existent the path will be absent beneath the mount point.
630+
627631
### Mounted ConfigMaps are updated automatically
628632

629-
When a ConfigMap already being consumed in a volume is updated, projected keys are eventually updated as well. Kubelet is checking whether the mounted ConfigMap is fresh on every periodic sync. However, it is using its local ttl-based cache for getting the current value of the ConfigMap. As a result, the total delay from the moment when the ConfigMap is updated to the moment when new keys are projected to the pod can be as long as kubelet sync period (1 minute by default) + ttl of ConfigMaps cache (1 minute by default) in kubelet. You can trigger an immediate refresh by updating one of the pod's annotations.
633+
When a mounted ConfigMap is updated, the projected content is eventually updated too. This applies in the case where an optionally referenced ConfigMap comes into existence after a pod has started.
634+
635+
Kubelet is checking whether the mounted ConfigMap is fresh on every periodic sync. However, it is using its local ttl-based cache for getting the current value of the ConfigMap. As a result, the total delay from the moment when the ConfigMap is updated to the moment when new keys are projected to the pod can be as long as kubelet sync period (1 minute by default) + ttl of ConfigMaps cache (1 minute by default) in kubelet. You can trigger an immediate refresh by updating one of the pod's annotations.
630636

631637
{{< note >}}
632638
A container using a ConfigMap as a [subPath](/docs/concepts/storage/volumes/#using-subpath) volume will not receive ConfigMap updates.

0 commit comments

Comments
 (0)