<p>I am adding the flag <code>--cloud-provider=aws</code> to <code>/etc/kubernetes/manifests/kube-apiserver.yaml</code> and <code>kube-controller-manager.yaml</code>. When I describe the pods I can see that they pick up the change and are recreated, however the flags have not changed.</p>

<p>Running on Centos7 machines in AWS. I have tried restarting the Kubelet service and tried using <code>kubectl apply</code>.</p>

user2930150
<p>There are couple of ways to achieve this. But seems like you have choosen the DynamicKubeletConfig way but you didn't configure <a href="https://kubernetes.io/blog/2018/07/11/dynamic-kubelet-configuration/" rel="nofollow noreferrer">DynamicKubeletConfig</a>! To do live changes to your cluster you need to <em>enable</em> <strong>DynamicKubeletonfig</strong> first then follow the steps <a href="https://kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet/" rel="nofollow noreferrer">here </a></p>

<p>Another Way<a href="https://github.com/kubernetes/kubeadm/issues/1464#issuecomment-518178729" rel="nofollow noreferrer"> [Ref]</a><br/>
TL;DR (do this at your own risk!)<br/>
Step 1: <code>kubeadm config view &gt; kubeadm-config.yaml</code><br/>
Step 2: edit kubeadm-config.yaml to add your changes [<a href="https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/control-plane-flags/" rel="nofollow noreferrer">Reference</a> for flags ]<br/>
Step 3: <code>kubeadm upgrade apply --config kubeadm-config.yaml</code></p>
