Skip to content

Commit bd28613

Browse files
authored
Add documentation for unmanaged kubernetes cluster (#315)
1 parent 29417b4 commit bd28613

File tree

2 files changed

+40
-7
lines changed

2 files changed

+40
-7
lines changed
70.9 KB
Loading

source/plugins/cloudstack-kubernetes-service.rst

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ To access the Kubernetes dashboard securely, the plugin provides access to kubec
2323

2424
The service allows creation of Kubernetes clusters using the UI or API. Both UI and API provide the ability to list, delete, scale, upgrade, stop and start these clusters.
2525

26+
From ACS 4.19 onwards, you can also create `ExternalManaged` kubernetes clusters using the API. This helps provide a centralized view of kubernetes clusters managed by other providers.
27+
2628
Enabling the Kubernetes Service
2729
--------------------------------
2830

@@ -185,17 +187,19 @@ New Kubernetes clusters can be created using the API or via the UI. User will be
185187
createKubernetesCluster API can be used to create new Kubernetes cluster. It takes following parameters as input,
186188

187189
- **name** (name for the Kubernetes cluster; Required)
188-
- **description** (description for the Kubernetes cluster; Required)
190+
- **description** (description for the Kubernetes cluster)
189191
- **zoneid** (availability zone in which Kubernetes cluster to be launched; Required)
190-
- **kubernetesversionid** (Kubernetes version with which cluster to be launched; Required)
191-
- **serviceofferingid** (the ID of the service offering for the virtual machines in the cluster; Required)
192+
- **clustertype** (Define the type of cluster: `CloudManaged` (managed by CloudStack), `ExternalManaged` (managed by an external kubernetes provider). Defaults to `CloudManaged`)
193+
- **kubernetesversionid** (Kubernetes version with which cluster to be launched; Required for CloudManaged clusters)
194+
- **serviceofferingid** (the ID of the service offering for the virtual machines in the cluster; Required for CloudManaged clusters)
192195
- **account** (an optional account for the virtual machine. Must be used with domainId)
193196
- **domainid** (an optional domainId for the virtual machine. If the account parameter is used, domainId must also be used)
194197
- **projectid** (Deploy cluster for the project)
195198
- **networkid** (Network in which Kubernetes cluster is to be launched)
196199
- **keypair** (name of the ssh key pair used to login to the virtual machines)
197-
- **controlnodes** (number of Kubernetes cluster control nodes, default is 1) externalloadbalanceripaddress (external load balancer IP address while using shared network with Kubernetes HA cluster)
198-
- **size** (number of Kubernetes cluster worker nodes; Required)
200+
- **controlnodes** (number of Kubernetes cluster control nodes, default is 1)
201+
- **externalloadbalanceripaddress** (external load balancer IP address while using shared network with Kubernetes HA cluster)
202+
- **size** (number of Kubernetes cluster worker nodes; Required for manage clusters)
199203
- **noderootdisksize** (root disk size of root disk for each node)
200204
- **dockerregistryusername** (username for the docker image private registry; Experimental)
201205
- **dockerregistrypassword** (password for the docker image private registry; Experimental)
@@ -253,13 +257,19 @@ Stopping Kubernetes cluster
253257

254258
A running Kubernetes cluster can be stopped using either the stopKubernetesCluster API which takes id of the cluster as an input parameter or |cks-stop-action.png| action icon from UI. action icon is shown for a running cluster in the UI.
255259

260+
.. note::
261+
This operation is supported only for CloudManaged kubernetes cluster.
262+
256263
Starting a stopped Kubernetes cluster
257264
######################################
258265

259266
A stopped Kubernetes cluster can be started using either the startKubernetesCluster API which takes id of the cluster as the input parameter or the |cks-start-action.png| action icon from UI. action icon is shown for a stopped cluster in the UI.
260267

261268
When the service fails to start a stopped cluster, the cluster will show in Alert state else it will show up as Running.
262269

270+
.. note::
271+
This operation is supported only for CloudManaged kubernetes cluster.
272+
263273
Scaling Kubernetes cluster
264274
###########################
265275

@@ -275,7 +285,9 @@ scaleKubernetesCluster API can be used to scale a running (or stopped cluster) t
275285

276286
Only running Kubernetes clusters can be scaled in size. When the service fails to scale the cluster, the cluster will show in Alert state else if the scaling is successfull cluster will show up in Running state.
277287

278-
Note: Only up scaling is supported while scaling clusters for service offering.
288+
.. note::
289+
- Only up scaling is supported while scaling clusters for service offering.
290+
- This operation is supported only for CloudManaged kubernetes cluster
279291

280292
Upgrading Kubernetes cluster
281293
#############################
@@ -291,7 +303,9 @@ upgradeKubernetesCluster API can be used to upgrade a running cluster. It takes
291303

292304
When the service fails to upgrade the cluster, the cluster will show up in Alert state, else if successful, the cluster appears Running state.
293305

294-
.. note:: Kubernetes can be upgraded from one MINOR version to the next MINOR version, or between PATCH versions of the same MINOR. That is, you cannot skip MINOR versions when you upgrade. For example, you can upgrade from 1.y to 1.y+1, but not from 1.y to 1.y+2. Therefore, service can upgrade running clusters in the similar manner only.
306+
.. note::
307+
- Kubernetes can be upgraded from one MINOR version to the next MINOR version, or between PATCH versions of the same MINOR. That is, you cannot skip MINOR versions when you upgrade. For example, you can upgrade from 1.y to 1.y+1, but not from 1.y to 1.y+2. Therefore, service can upgrade running clusters in the similar manner only.
308+
- This operation is supported only for CloudManaged kubernetes cluster
295309

296310
Deleting Kubernetes cluster
297311
############################
@@ -361,6 +375,25 @@ Kubernetes compatibility Matrix
361375
| 4.16.1 | v1.20 onward | SystemVM Template (Debian) | cloud |
362376
+--------------+---------------------------------+-----------------------------+-------------+
363377

378+
Adding/Removing VMs for an ExternalManaged Kubernetes Cluster
379+
##############################################################
380+
The VMs launched by the external kubernetes provider can be linked to the ExternalManaged kubernetes cluster.
381+
382+
To add a VM to an ExternalManaged Kubernetes cluster:
383+
384+
.. code-block:: bash
385+
386+
cmk add VirtualMachinesToKubernetesCluster id=59028a81-d9c9-46f6-bd16-8da918571c23 virtualmachineids=1d991764-3be8-4d2e-a9f1-2de2fc80ca72,97172931-286b-46c5-9427-ffc19315479e
387+
388+
To remove a VM from an ExternalManaged Kubernetes cluster:
389+
390+
.. code-block:: bash
391+
392+
cmk remove VirtualMachinesFromKubernetesCluster id=59028a81-d9c9-46f6-bd16-8da918571c23 virtualmachineids=1d991764-3be8-4d2e-a9f1-2de2fc80ca72,97172931-286b-46c5-9427-ffc19315479e
393+
394+
.. note::
395+
These operations are only supported for an ExternalManaged Kubernetes Cluster
396+
364397

365398
.. |cks-add-version-form.png| image:: /_static/images/cks-add-version-form.png
366399
:alt: Add Kubernetes Supported Version form.

0 commit comments

Comments
 (0)