argrinberg opened a new pull request, #14594: URL: https://github.com/apache/cloudstack/pull/14594
### Description Adds node groups (node pools) to CloudManaged CKS clusters. Every cluster gets a default node group holding the worker nodes of the cluster size; additional node groups have their own service offering, template, Kubernetes labels and taints, and autoscaling settings. Nodes can also have their own labels and taints on top of the ones of their node group. - New APIs: `createKubernetesClusterNodeGroup`, `listKubernetesClusterNodeGroups`, `updateKubernetesClusterNodeGroup`, `scaleKubernetesClusterNodeGroup`, `deleteKubernetesClusterNodeGroup`, `updateKubernetesClusterNode` - Existing clusters get their default node group on management server startup; `scaleKubernetesCluster` keeps working and applies to the default node group - Operations on different node groups of a cluster can run concurrently; failures only affect the node group - The cluster autoscaler is deployed with one `--nodes` argument per autoscaled node group. Node groups other than the default one need an autoscaler image supporting node groups, set by the new `cloud.kubernetes.cluster.autoscaler.image` global setting (the upstream image only supports the default node group) - UI: Node groups tab with expandable nodes, forms for node groups and node labels/taints; the cluster list shows the total number of worker nodes ### Types of changes - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] New feature (non-breaking change which adds functionality) - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Enhancement (improves an existing feature and functionality) - [ ] Cleanup (Code refactoring and cleanup, that may add test cases) ### Screenshots (if appropriate): ### How Has This Been Tested? - Unit tests: all 174 tests of the kubernetes-service plugin pass - Manual testing on a single host KVM zone (Ubuntu 24.04, Kubernetes 1.33): cluster creation, default node group creation for an existing cluster, creating, scaling (including concurrent scaling of several node groups), updating and deleting node groups, node labels and taints applied to the Kubernetes nodes, autoscaling of the default node group -- 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]
