<p>I am trying to redeploy the exact same existing image, but after changing a secret in the Azure Vault.  Since it is the same image that's why <code>kubectl apply</code> doesn't deploy it. I tried to make the deploy happen by adding a <code>--force=true</code> option. Now the deploy took place and the new secret value is visible in the dashboard config map, but not in the API container <code>kubectl exec</code> console prompt in the environment.</p>
<p>Below is one of the 3 deploy manifest (YAML file) for the service:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: tube-api-deployment
  namespace: tube
spec:
  selector:
    matchLabels:
      app: tube-api-app
  replicas: 3
  template:
    metadata:
      labels:
        app: tube-api-app
    spec:
      containers:
      - name: tube-api
        image: ReplaceImageName
        ports:
        - name: tube-api
          containerPort: 80
        envFrom:
        - configMapRef:
            name: tube-config-map
      imagePullSecrets:
      - name: ReplaceRegistrySecret
---
apiVersion: v1
kind: Service
metadata:
  name: api-service
  namespace: tube
spec:
  ports:
   - name: api-k8s-port
     protocol: TCP
     port: 8082
     targetPort: 3000
  selector:
    app: tube-api-app
</code></pre>

MCC21
<p>I think it is not happening because when we update a ConfigMap, the files in all the volumes referencing it are updated. It’s then up to the pod container process to detect that they’ve been changed and reload them. Currently, there is no built-in way to signal an application when a new version of a ConfigMap is deployed. It is up to the application (or some helper script) to look for the config files to change and reload them.</p>
