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]

Reply via email to