nvazquez opened a new pull request, #9102: URL: https://github.com/apache/cloudstack/pull/9102
### Description Design Document: https://cwiki.apache.org/confluence/display/CLOUDSTACK/CKS+Enhancements Documentation PR: https://github.com/apache/cloudstack-documentation/pull/458 This PR extends the CloudStack Kubernetes Service functionalities, matching these requirements: - [x] **Ability to specify different compute or service offerings for different types of CKS cluster nodes – worker, master or etcd:** The createKubernetesCluster API and the corresponding UI must provide an option to provide different offering for different types of nodes. CKS compute offerings will be marked as CKS compatible. - [x] **Ability to use CKS ready custom templates for CKS cluster nodes:** CKS will allow users to specify their own templates for different CKS node types (control and worker) at the point of cluster creation. Those templates will be marked as CKS compatible. - [x] **Ability to use generic (non CKS ready) custom templates for CKS cluster nodes:** CKS will allow users to specify their own templates for different CKS node types (control and worker) at the point of cluster creation. Those templates will be marked as CKS compatible. The user will be responsible for installing all necessary packages in the template. - [x] **Ability to add and remove a pre-created instance as a worker node to an existing CKS cluster:** An instance (either virtual of physical) which has been built and prepared for CKS can been added to the desired CKS cluster. The instance must have all the CKS worker node packages installed. - [x] **Ability to separate etcd from master nodes of the CKS cluster:** End users should be provided with an option to separate etcd cluster at the time of CKS cluster creation. The user can enable such option in the UI or in the createKubernetesCluster API and specify the size of the etcd cluster. Based on the user inputs CloudStack should be able to provision such etcd nodes for the CKS cluster. - [x] **Ability to mark CKS cluster nodes for manual only upgrade:** An end user should be able to mark the desired compute offering (or the CKS template) for manual upgrades only. CKS cluster nodes marked for manual upgrade should be untouched during the Kubernetes version upgrade when executed using upgradeKubernetesCluster API. - [x] **Ability to dedicate specific hosts/clusters to a specific domain for CKS cluster deployment:** The dedicateHost/dedicateCluster APIs can be used to provide this functionality to dedicate hosts/clusters for CKS cluster deployments. During the deployment of CKS cluster node VMs they will by default be deployed in the dedicated cluster. - [x] **Methodology for AS number management:** Operators should be able to assign a range of AS numbers to an ACS Zone. ACS must have a method to assign an AS number to each Isolated network (or VPC tier), which can be retrieved via the UI and API. (Introduced on PR #9470) - [x] **Methodology to use diverse CNI plugins (Calico, Cilium, etc…):** End users should be able to deploy CKS clusters with Calico CNI. An option to specify which CNI plugin to be used for a CKS cluster must be provided in the createKubernetesClusterCmd API. The CNI configuration and setup can be registered as a managed userdata, and any configurable parameters – here, AS number, BGP Peer AS number and IP address, can be defined as variables in the userdata be set during the creation of the CKS cluster. This provides a flexible way for users to use the CNI plugin of their choice. ### Types of changes - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] New feature (non-breaking change which adds functionality) - [ ] Bug fix (non-breaking change which fixes an issue) - [x] Enhancement (improves an existing feature and functionality) - [ ] Cleanup (Code refactoring and cleanup, that may add test cases) - [ ] build/CI ### Feature/Enhancement Scale or Bug Severity #### Feature/Enhancement Scale - [x] Major - [ ] Minor #### Bug Severity - [ ] BLOCKER - [ ] Critical - [ ] Major - [ ] Minor - [ ] Trivial ### Screenshots (if appropriate): ### How Has This Been Tested? In testing on vCenter 7.0 environment + NSX SDN #### How did you try to break this feature and the system with this change? -- 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]
