In some applications, the application configurations are set by default in the codebase (hard-coded). If you want to override them, you can provide your override values through environment variables. Sometimes and for some configurations, it doesn’t matter if the override values exist. However, you want to make sure the application runs without any issues. If ConfigMaps/Secrets are available, use them and override default values, and if there are no ConfigMaps/Secrets for the application, run the application with its default configuration. In such a case, Kubernetes provides us optional field for using ConfigMaps/Secrets as environment variables in Pods.

Follow our social media:

https://www.linkedin.com/in/ssbostan

https://www.linkedin.com/company/kubedemy

https://www.youtube.com/@kubedemy

https://telegram.me/kubedemy


If you run the pod with a regular manifest and the ConfigMap/Secret does not exist, it will face the following CreateContainerConfigError error.

apiVersion: v1
kind: Pod
metadata:
  name: optional-configmap-secret
spec:
  containers:
    - name: registry
      image: registry:latest
      envFrom:
        - configMapRef:
            name: registry-config
        - secretRef:
            name: registry-secret

Now we can use the optional field to run the pod even if ConfigMap/Secret is not available to be used by the pod container without that error.

If you like this series of articles, please share them and write your thoughts as comments here. Your feedback encourages me to complete this massively planned program.

Follow my LinkedIn https://www.linkedin.com/in/ssbostan

Follow Kubedemy LinkedIn https://www.linkedin.com/company/kubedemy

Follow Kubedemy Telegram https://telegram.me/kubedemy

Leave a Reply

Your email address will not be published. Required fields are marked *