bhouse-nexthop opened a new issue, #14615: URL: https://github.com/apache/cloudstack/issues/14615
### problem The service offering, root disk size and affinity groups of the nodes of an existing CKS (CloudManaged) Kubernetes cluster can't be changed in a way that keeps the workloads running: - `scaleKubernetesCluster` with a new service offering (`serviceofferingid` or `nodeofferings`) changes every node of the type at once, with no cordon or drain. - The root disk size of the nodes is fixed at creation. A node that runs out of disk can only be grown by hand, one volume at a time, outside CKS. - The affinity groups of the nodes are set at creation. Changing them needs each VM stopped by hand, and CKS keeps creating new nodes with the old groups. There's no supported way to move the nodes of a cluster to new settings a few at a time, for example to spread the workers over hosts with an anti-affinity group, or to give the control plane more memory. ### versions Apache CloudStack main (24.0), CKS with CloudManaged clusters. Not specific to a hypervisor or a storage type. ### The steps to reproduce the bug 1. Create a CKS cluster with 3 workers. 2. Try to give the workers a larger root disk, a different service offering than the control nodes, or a new anti-affinity group. 3. There is no API for the root disk or the affinity groups. The scale changes the offering of every worker at once, without draining them. ### What to do about it? Let `updateKubernetesCluster` set the service offering, root disk size and affinity groups of each node type (control, worker, etcd). New nodes get these settings. With `rollout=true`, the existing nodes that differ are restarted with them a few at a time: each node is cordoned and drained, its VM is stopped, changed and started, and the node is uncordoned once Kubernetes reports it Ready again. The rollout can be resumed if it stops, and other operations are refused while it runs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
