Problem statement
The linkerd upgrade command may deploy and restart new control-plane components before an updated linkerd-config ConfigMap is available. Because the control-plane components read linkerd-config via a volume mount at startup time, any subsequent updates to the ConfigMap go unnoticed.
Proposal
Modify the control-plane components to poll the ConfigMaps, or listen for changes via Kubernetes. Also validate the ConfigMap is the expected version.
Open questions
Upcoming multi-stage install work may render this work moot, if we can guarantee that ConfigMaps are always deployed in a stage prior to dependent pods starting up:
#2656 (comment)