[GitHub] [cloudstack] shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service
shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service URL: https://github.com/apache/cloudstack/pull/3680 ## Description Specification document https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Kubernetes+Service Kubernetes Service plugin adds Kubernetes integration in the CloudStack. Plugin is disabled by default and an admin can enable it using the Global Setting. It enables users to run containerized services using Kubernetes clusters. Kubernetes Service plugin uses a CoreOS based template for node VMs for the Kubernetes cluster. For installation of Kubernetes binaries on cluster nodes, a binaries ISO can be created for a particular Kubernetes version and can be added as a supported version by an admin. This allows faster, offline installation Kubernetes binaries and docker images along with support for adding multiple versions of Kubernetes for upgrades and running different clusters. For deployment and setup of Kubernetes on cluster nodes, the plugin uses the Kubernetes tool, kubeadm. kubeadm is the command-line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines. Under the hood, master node(s) of the cluster starts a Kubernetes cluster using kubeadm init command with a custom token and worker nodes join this Kubernetes cluster using kubeadm join command with the same token. More about kubeadm, https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/. Weave Net CNI provider plugin is used for cluster netoworking. More about Weave Net provide plugin, https://www.weave.works/docs/net/latest/kubernetes/kube-addon/. To access Kubernetes dashboard securely, the plugin provides access to kubeconfig file data which allows using the Kubernetes tool, kubectl, to run proxy locally and thereby access dashboard. More about kubectl, https://kubernetes.io/docs/reference/kubectl/overview/ The service allows creation of Kubernetes clusters using UI or API. Both UI and API functionalities to list, delete, scale upgrade, stop and start these clusters. Enabling the Kubernetes Service Kubernetes Service plugin is disabled by default. To enable it, go to Global Settings and set the following global configuration to true: `cloud.kubernetes.service.enabled` Restart the Management Server to enable the set configuration values. `service cloudstack-management restart` Once the Kubernetes service is running new API will become accessible and UI will start show Kubernetes Service tab. **Kubernetes Supported Versions** For faster and offline installation of Kubernetes and docker images on node virtual machines of a Kubernetes cluster, the service provides the functionality to manage supported Kubernetes versions. Script named create-kubernetes-binaries-iso.sh has been provided in the cloudstack-common package for creating a new setup iso with the desired version of Kubernetes binaries and corresponding docker images. Usage, `./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG` eg, `./create-binaries-iso.sh ./ 1.12.5 0.7.1 1.12.0 "https://cloud.weave.works/k8s/net?k8s-version=1.12.5; https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml` ISOs created using the script can be added as supported Kubernetes version for Kubernetes service. _Working with Kubernetes supported version_ New Kubernetes versions can be added using both UI and API. UI provides the following form to add new supported version, `addKubernetesSupportedVersion` API can be used by an admin to add a new supported version for the service. It takes following input parameters, ``` name (the name of the Kubernetes supported version) semanticversion (the semantic version of the Kubernetes; Required) zoneid (the ID of the zone in which Kubernetes supported version will be available) isoid (the ID of the binaries ISO for Kubernetes supported version) url (the URL of the binaries ISO for Kubernetes supported version) checksum (the checksum value of the binaries ISO) ``` ``` > add kubernetessupportedversion name=v1.13.2 semanticversion=1.13.2 url=http://172.20.0.1/files/setup-1.13.2.iso zoneid=34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6 { "kubernetessupportedversion": { "id": "6668e999-fe6c-4a91-88d8-d10bcf280d02", "isoid": "78d45e9b-a482-46f4-8cbc-cf7964564b85", "isoname": "v1.13.2-Kubernetes-Binaries-ISO", "isostate": "Active", "semanticversion": "1.13.2", "name": "v1.13.2", "supportsha": false, "zoneid": "34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6", "zonename": "KVM-advzone1" } } ``` Note: The minimum Kubernetes version that can be added in
[GitHub] [cloudstack] shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service
shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service URL: https://github.com/apache/cloudstack/pull/3680 ## Description Specification document https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Kubernetes+Service Kubernetes Service plugin adds Kubernetes integration in the CloudStack. Plugin is disabled by default and an admin can enable it using the Global Setting. It enables users to run containerized services using Kubernetes clusters. Kubernetes Service plugin uses a CoreOS based template for node VMs for the Kubernetes cluster. For installation of Kubernetes binaries on cluster nodes, a binaries ISO can be created for a particular Kubernetes version and can be added as a supported version by an admin. This allows faster, offline installation Kubernetes binaries and docker images along with support for adding multiple versions of Kubernetes for upgrades and running different clusters. For deployment and setup of Kubernetes on cluster nodes, the plugin uses the Kubernetes tool, kubeadm. kubeadm is the command-line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines. Under the hood, master node(s) of the cluster starts a Kubernetes cluster using kubeadm init command with a custom token and worker nodes join this Kubernetes cluster using kubeadm join command with the same token. More about kubeadm, https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/. Weave Net CNI provider plugin is used for cluster netoworking. More about Weave Net provide plugin, https://www.weave.works/docs/net/latest/kubernetes/kube-addon/. To access Kubernetes dashboard securely, the plugin provides access to kubeconfig file data which allows using the Kubernetes tool, kubectl, to run proxy locally and thereby access dashboard. More about kubectl, https://kubernetes.io/docs/reference/kubectl/overview/ The service allows creation of Kubernetes clusters using UI or API. Both UI and API functionalities to list, delete, scale upgrade, stop and start these clusters. Enabling the Kubernetes Service Kubernetes Service plugin is disabled by default. To enable it, go to Global Settings and set the following global configuration to true: `cloud.kubernetes.service.enabled` Restart the Management Server to enable the set configuration values. `service cloudstack-management restart` Once the Kubernetes service is running new API will become accessible and UI will start show Kubernetes Service tab. **Kubernetes Supported Versions** For faster and offline installation of Kubernetes and docker images on node virtual machines of a Kubernetes cluster, the service provides the functionality to manage supported Kubernetes versions. Script named create-kubernetes-binaries-iso.sh has been provided in the cloudstack-common package for creating a new setup iso with the desired version of Kubernetes binaries and corresponding docker images. Usage, `./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG` eg, `./create-binaries-iso.sh ./ 1.12.5 0.7.1 1.12.0 "https://cloud.weave.works/k8s/net?k8s-version=1.12.5; https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml` ISOs created using the script can be added as supported Kubernetes version for Kubernetes service. _Working with Kubernetes supported version_ New Kubernetes versions can be added using both UI and API. UI provides the following form to add new supported version, `addKubernetesSupportedVersion` API can be used by an admin to add a new supported version for the service. It takes following input parameters, ``` name (the name of the Kubernetes supported version) semanticversion (the semantic version of the Kubernetes; Required) zoneid (the ID of the zone in which Kubernetes supported version will be available) isoid (the ID of the binaries ISO for Kubernetes supported version) url (the URL of the binaries ISO for Kubernetes supported version) checksum (the checksum value of the binaries ISO) ``` ``` > add kubernetessupportedversion name=v1.13.2 semanticversion=1.13.2 url=http://172.20.0.1/files/setup-1.13.2.iso zoneid=34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6 { "kubernetessupportedversion": { "id": "6668e999-fe6c-4a91-88d8-d10bcf280d02", "isoid": "78d45e9b-a482-46f4-8cbc-cf7964564b85", "isoname": "v1.13.2-Kubernetes-Binaries-ISO", "isostate": "Active", "semanticversion": "1.13.2", "name": "v1.13.2", "supportsha": false, "zoneid": "34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6", "zonename": "KVM-advzone1" } } ``` Note: The minimum Kubernetes version that can be added in
[GitHub] [cloudstack] shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service
shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service URL: https://github.com/apache/cloudstack/pull/3680 ## Description Specification document https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Kubernetes+Service Kubernetes Service plugin adds Kubernetes integration in the CloudStack. Plugin is disabled by default and an admin can enable it using the Global Setting. It enables users to run containerized services using Kubernetes clusters. Kubernetes Service plugin uses a CoreOS based template for node VMs for the Kubernetes cluster. For installation of Kubernetes binaries on cluster nodes, a binaries ISO can be created for a particular Kubernetes version and can be added as a supported version by an admin. This allows faster, offline installation Kubernetes binaries and docker images along with support for adding multiple versions of Kubernetes for upgrades and running different clusters. For deployment and setup of Kubernetes on cluster nodes, the plugin uses the Kubernetes tool, kubeadm. kubeadm is the command-line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines. Under the hood, master node(s) of the cluster starts a Kubernetes cluster using kubeadm init command with a custom token and worker nodes join this Kubernetes cluster using kubeadm join command with the same token. More about kubeadm, https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/. Weave Net CNI provider plugin is used for cluster netoworking. More about Weave Net provide plugin, https://www.weave.works/docs/net/latest/kubernetes/kube-addon/. To access Kubernetes dashboard securely, the plugin provides access to kubeconfig file data which allows using the Kubernetes tool, kubectl, to run proxy locally and thereby access dashboard. More about kubectl, https://kubernetes.io/docs/reference/kubectl/overview/ The service allows creation of Kubernetes clusters using UI or API. Both UI and API functionalities to list, delete, scale upgrade, stop and start these clusters. Enabling the Kubernetes Service Kubernetes Service plugin is disabled by default. To enable it, go to Global Settings and set the following global configuration to true: `cloud.kubernetes.service.enabled` Restart the Management Server to enable the set configuration values. `service cloudstack-management restart` Once the Kubernetes service is running new API will become accessible and UI will start show Kubernetes Service tab. **Kubernetes Supported Versions** For faster and offline installation of Kubernetes and docker images on node virtual machines of a Kubernetes cluster, the service provides the functionality to manage supported Kubernetes versions. Script named create-kubernetes-binaries-iso.sh has been provided in the cloudstack-common package for creating a new setup iso with the desired version of Kubernetes binaries and corresponding docker images. Usage, `./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG` eg, `./create-binaries-iso.sh ./ 1.12.5 0.7.1 1.12.0 "https://cloud.weave.works/k8s/net?k8s-version=1.12.5; https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml` ISOs created using the script can be added as supported Kubernetes version for Kubernetes service. _Working with Kubernetes supported version_ New Kubernetes versions can be added using both UI and API. UI provides the following form to add new supported version, `addKubernetesSupportedVersion` API can be used by an admin to add a new supported version for the service. It takes following input parameters, ``` name (the name of the Kubernetes supported version) semanticversion (the semantic version of the Kubernetes; Required) zoneid (the ID of the zone in which Kubernetes supported version will be available) isoid (the ID of the binaries ISO for Kubernetes supported version) url (the URL of the binaries ISO for Kubernetes supported version) checksum (the checksum value of the binaries ISO) ``` ``` > add kubernetessupportedversion name=v1.13.2 semanticversion=1.13.2 url=http://172.20.0.1/files/setup-1.13.2.iso zoneid=34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6 { "kubernetessupportedversion": { "id": "6668e999-fe6c-4a91-88d8-d10bcf280d02", "isoid": "78d45e9b-a482-46f4-8cbc-cf7964564b85", "isoname": "v1.13.2-Kubernetes-Binaries-ISO", "isostate": "Active", "semanticversion": "1.13.2", "name": "v1.13.2", "supportsha": false, "zoneid": "34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6", "zonename": "KVM-advzone1" } } ``` Note: The minimum Kubernetes version that can be added in
[GitHub] [cloudstack] shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service
shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service URL: https://github.com/apache/cloudstack/pull/3680 ## Description Specification document https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Kubernetes+Service Kubernetes Service plugin adds Kubernetes integration in the CloudStack. Plugin is disabled by default and an admin can enable it using the Global Setting. It enables users to run containerized services using Kubernetes clusters. Kubernetes Service plugin uses a CoreOS based template for node VMs for the Kubernetes cluster. For installation of Kubernetes binaries on cluster nodes, a binaries ISO can be created for a particular Kubernetes version and can be added as a supported version by an admin. This allows faster, offline installation Kubernetes binaries and docker images along with support for adding multiple versions of Kubernetes for upgrades and running different clusters. For deployment and setup of Kubernetes on cluster nodes, the plugin uses the Kubernetes tool, kubeadm. kubeadm is the command-line tool for easily provisioning a secure Kubernetes cluster on top of physical or cloud servers or virtual machines. Under the hood, master node(s) of the cluster starts a Kubernetes cluster using kubeadm init command with a custom token and worker nodes join this Kubernetes cluster using kubeadm join command with the same token. More about kubeadm, https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/. Weave Net CNI provider plugin is used for cluster netoworking. More about Weave Net provide plugin, https://www.weave.works/docs/net/latest/kubernetes/kube-addon/. To access Kubernetes dashboard securely, the plugin provides access to kubeconfig file data which allows using the Kubernetes tool, kubectl, to run proxy locally and thereby access dashboard. More about kubectl, https://kubernetes.io/docs/reference/kubectl/overview/ The service allows creation of Kubernetes clusters using UI or API. Both UI and API functionalities to list, delete, scale upgrade, stop and start these clusters. Enabling the Kubernetes Service Kubernetes Service plugin is disabled by default. To enable it, go to Global Settings and set the following global configuration to true: `cloud.kubernetes.service.enabled` Restart the Management Server to enable the set configuration values. `service cloudstack-management restart` Once the Kubernetes service is running new API will become accessible and UI will start show Kubernetes Service tab. **Kubernetes Supported Versions** For faster and offline installation of Kubernetes and docker images on node virtual machines of a Kubernetes cluster, the service provides the functionality to manage supported Kubernetes versions. Script named create-kubernetes-binaries-iso.sh has been provided in the cloudstack-common package for creating a new setup iso with the desired version of Kubernetes binaries and corresponding docker images. Usage, `./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG` eg, `./create-binaries-iso.sh ./ 1.12.5 0.7.1 1.12.0 "https://cloud.weave.works/k8s/net?k8s-version=1.12.5; https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml` ISOs created using the script can be added as supported Kubernetes version for Kubernetes service. _Working with Kubernetes supported version_ New Kubernetes versions can be added using both UI and API. UI provides the following form to add new supported version, `addKubernetesSupportedVersion` API can be used by an admin to add a new supported version for the service. It takes following input parameters, ``` name (the name of the Kubernetes supported version) semanticversion (the semantic version of the Kubernetes; Required) zoneid (the ID of the zone in which Kubernetes supported version will be available) isoid (the ID of the binaries ISO for Kubernetes supported version) url (the URL of the binaries ISO for Kubernetes supported version) checksum (the checksum value of the binaries ISO) ``` ``` > add kubernetessupportedversion name=v1.13.2 semanticversion=1.13.2 url=http://172.20.0.1/files/setup-1.13.2.iso zoneid=34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6 { "kubernetessupportedversion": { "id": "6668e999-fe6c-4a91-88d8-d10bcf280d02", "isoid": "78d45e9b-a482-46f4-8cbc-cf7964564b85", "isoname": "v1.13.2-Kubernetes-Binaries-ISO", "isostate": "Active", "semanticversion": "1.13.2", "name": "v1.13.2", "supportsha": false, "zoneid": "34d23dd5-5ced-4e8b-9b0a-835a0b8ae2a6", "zonename": "KVM-advzone1" } } ``` Note: The minimum Kubernetes version that can be added in
[GitHub] [cloudstack] shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service
shwstppr opened a new pull request #3680: [WIP: DO NOT MERGE] CloudStack Kubernetes Service URL: https://github.com/apache/cloudstack/pull/3680 ## Description Details coming soon Specification document https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+Kubernetes+Service ## 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? 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services