Repository navigation
cks node groups - #14594
Open
argrinberg wants to merge 4 commits into
Open
cks node groups#14594argrinberg wants to merge 4 commits into
argrinberg wants to merge 4 commits into
Conversation
Node groups are pools of worker nodes of a CloudManaged Kubernetes cluster with their own service offering, template, Kubernetes labels, taints and autoscaling settings. Every cluster has a default node group holding the worker nodes of the cluster size. The nodes of the node groups are linked to them in the cluster VM map, along with their own labels and taints.
- New APIs to create, list, update, scale and delete the node groups of a cluster, and to update the labels and taints of a node. - Node group nodes are registered with the node group label, labels and taints through the kubelet; label and taint changes are applied to the existing nodes, merging the ones of the node group with the ones of each node. - The default node group is created with the cluster, and on startup for the existing clusters. It can not be deleted, keeps at least one node and only allows PreferNoSchedule taints so that the system pods can run. The cluster scale API applies to it and keeps it in sync. - Operations on different node groups of a cluster can run at the same time: the cluster stays Scaling while they are in progress, network rules and counters are updated under locks, failed scale ups only clean up their own nodes and failures move the node group to Error. - The cluster autoscaler is deployed with one --nodes argument per node group with autoscaling enabled. Node groups other than the default one require an autoscaler image supporting node groups, set by cloud.kubernetes.cluster.autoscaler.image. - The cluster response has the total number of worker nodes and the node groups of the cluster.
Adds a node groups tab to Kubernetes clusters to create, scale, update and delete node groups with their labels, taints and autoscaling settings, and to list the nodes of each node group and edit their own labels and taints. The cluster list shows the total number of worker nodes and the cluster scale dialog is labelled for the default node group.
|
Congratulations on your first Pull Request and welcome to the Apache CloudStack community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md)
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #14594 +/- ##
============================================
- Coverage 20.78% 20.75% -0.04%
- Complexity 21931 22010 +79
============================================
Files 6496 6513 +17
Lines 591657 593781 +2124
Branches 72592 72909 +317
============================================
+ Hits 122966 123227 +261
- Misses 455346 457175 +1829
- Partials 13345 13379 +34
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
createKubernetesClusterNodeGroup,listKubernetesClusterNodeGroups,updateKubernetesClusterNodeGroup,scaleKubernetesClusterNodeGroup,deleteKubernetesClusterNodeGroup,updateKubernetesClusterNodescaleKubernetesClusterkeeps working and applies to the default node group--nodesargument per autoscaled node group. Node groups other than the default one need an autoscaler image supporting node groups, set by the newcloud.kubernetes.cluster.autoscaler.imageglobal setting (the upstream image only supports the default node group)Types of changes
Screenshots (if appropriate):
How Has This Been Tested?
Documentation PR: apache/cloudstack-documentation#699