From 21926145fe92e1026511b5d47577a5c36af3ffa7 Mon Sep 17 00:00:00 2001 From: Michelle Au Date: Tue, 27 Feb 2018 11:21:45 -0800 Subject: [PATCH] Update docs with subpath limitation (#7533) --- docs/concepts/configuration/secret.md | 5 +++++ docs/concepts/storage/volumes.md | 16 ++++++++++++++++ .../configure-pod-configmap.md | 5 +++++ ...downward-api-volume-expose-pod-information.md | 5 +++++ 4 files changed, 31 insertions(+) diff --git a/docs/concepts/configuration/secret.md b/docs/concepts/configuration/secret.md index 044fa13940..96f64b6c02 100644 --- a/docs/concepts/configuration/secret.md +++ b/docs/concepts/configuration/secret.md @@ -338,6 +338,11 @@ However, it is using its local ttl-based cache for getting the current value of As a result, the total delay from the moment when the secret is updated to the moment when new keys are projected to the pod can be as long as kubelet sync period + ttl of secrets cache in kubelet. +**Note:** A container using a Secret as a +[subPath](/docs/concepts/storage/volumes#using-subpath) volume mount will not receive +Secret updates. +{: .note} + #### Using Secrets as Environment Variables To use a secret in an environment variable in a pod: diff --git a/docs/concepts/storage/volumes.md b/docs/concepts/storage/volumes.md index f697c04f9e..3881dc8e54 100644 --- a/docs/concepts/storage/volumes.md +++ b/docs/concepts/storage/volumes.md @@ -211,6 +211,10 @@ its `log_level` entry are mounted into the Pod at path "`/etc/config/log_level`" Note that this path is derived from the volume's `mountPath` and the `path` keyed with `log_level`. +**Note:** A container using a ConfigMap as a [subPath](#using-subpath) volume mount will not +receive ConfigMap updates. +{: .note} + ### csi CSI stands for [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md), @@ -248,6 +252,10 @@ A CSI persistent volume has the following fields for users to specify: A `downwardAPI` volume is used to make downward API data available to applications. It mounts a directory and writes the requested data in plain text files. +**Note:** A container using Downward API as a [subPath](#using-subpath) volume mount will not +receive Downward API updates. +{: .note} + See the [`downwardAPI` volume example](/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/) for more details. ### emptyDir @@ -687,6 +695,10 @@ parameters are nearly the same with two exceptions: volume source. However, as illustrated above, you can explicitly set the `mode` for each individual projection. +**Note:** A container using a projected volume source as a [subPath](#using-subpath) volume mount will not +receive updates for those volume sources. +{: .note} + ### portworxVolume A `portworxVolume` is an elastic block storage layer that runs hyperconverged with @@ -807,6 +819,10 @@ non-volatile storage. **Important:** You must create a secret in the Kubernetes API before you can use it. {: .caution} +**Note:** A container using a Secret as a [subPath](#using-subpath) volume mount will not +receive Secret updates. +{: .note} + Secrets are described in more detail [here](/docs/user-guide/secrets). ### storageOS diff --git a/docs/tasks/configure-pod-container/configure-pod-configmap.md b/docs/tasks/configure-pod-container/configure-pod-configmap.md index f1a6c6949f..ed36a60a0a 100644 --- a/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -476,6 +476,11 @@ basis. The [Secrets](/docs/concepts/configuration/secret/#using-secrets-as-files 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 + ttl of ConfigMaps cache in kubelet. +**Note:** A container using a ConfigMap as a +[subPath](/docs/concepts/storage/volumes/#using-subpath) volume will not receive +ConfigMap updates. +{: .note} + {% endcapture %} {% capture discussion %} diff --git a/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md b/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md index 30e937e72d..90440cc7f2 100644 --- a/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md +++ b/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information.md @@ -135,6 +135,11 @@ written to a new temporary directory, and the `..data` symlink is updated atomically using [rename(2)](http://man7.org/linux/man-pages/man2/rename.2.html). +**Note:** A container using Downward API as a +[subPath](/docs/concepts/storage/volumes/#using-subpath) volume mount will not +receive Downward API updates. +{: .note} + Exit the shell: ```shell