Page MenuHomePhabricator

Automate kubeadm config change deployment
Open, LowestPublic

Description

Once in a while we need to deploy changes to Kubeadm created configuration (a recent example: T279106). The procedure currenly roughly consists of three steps:

  1. Create and merge a puppet patch to the kubeadm InitConfiguration file
  2. Adjust Kubeadm's config map in kube-system namespace manually
  3. Manually adjust the manifests in /etc/kubernetes/manifests on each control node

Ideally steps 2 and 3 would be automated.

Event Timeline

taavi triaged this task as Lowest priority.Oct 11 2021, 8:33 AM
taavi created this task.

A simple automation for step 3 would be to simply to replace the 3 control nodes with new ones as the cluster join process creates the manifest files from what's stored in the config maps.

There's some code already to handle those files , but specific to etcd, we can factor it out and use it in a generic way.

Automating the rebuild of the control nodes is also something we should do, so both are ok for me :)