Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added source/_static/images/cks-csi-integration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/_static/images/cks-csi-pods.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 57 additions & 0 deletions source/plugins/cloudstack-csi-driver.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information#
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.

CloudStack CSI Driver
=======================

CloudStack Container Storage Interface (CSI) plugin enables Kubernetes clusters running on Apache CloudStack to dynamically provision, manage, and use CloudStack storage volumes

Features
--------

- Automatic provisioning: Create persistent volumes on-demand from Kubernetes PVCs
- No manual intervention: Eliminates need to manually create CloudStack volumes
- Kubernetes-native: Uses standard Kubernetes storage classes and PVC workflows

Advanced Storage Features
-------------------------
- Volume snapshots: Backup and restore capabilities
- Dynamic expansion: Grow volumes without downtime or data migration
- Flexible reclaim policies: Choose between automatic cleanup or data retention

Core Components
-----------------
- CSI Controller: Manages volume lifecycle, snapshots, and CloudStack API interactions
- CSI Node Driver: Handles volume mounting and unmounting on worker nodes
- Storage Class Syncer: Automatically syncs CloudStack disk offerings to Kubernetes storage classes

CSI integration with CKS
~~~~~~~~~~~~~~~~~~~~~~~~~~
From 4.22.0, CloudStack Kubernetes Service provides CSI integration that allows dynamic provisioning of CloudStack volumes for Kubernetes pods running on CKS clusters.
To enable CSI integration, the CKS data ISOs must have the CSI manifests. Rebuilding the CKS data ISOs using the `create-kubernetes-binaries-iso.sh` script will build ISOs with CSI manifests and images. Pre-built ISOs for Kubernetes versions 1.31.1, 1.32.5 and 1.33.1 are available at https://download.cloudstack.org/cks/

|cks-csi-integration.png|

Enabling CSI integration for a CKS cluster can be done by selecting the `Enable CSI Integration` checkbox in the Advanced Settings section of the Kubernetes cluster creation form.
Doing so will setup the CSI components - the CSI controller and the CSI node daemonset - on the cluster during its creation.

|cks-csi-pods.png|

Further details about using CSI with CKS can be found at: https://github.com/cloudstack/cloudstack-csi-driver/blob/main/README.md

.. |cks-csi-integration.png| image:: /_static/images/cks-csi-integration.png
:alt: Integration of CSI with CKS.
.. |cks-csi-pods.png| image:: /_static/images/cks-csi-pods.png
:alt: CSI Pods.
2 changes: 1 addition & 1 deletion source/plugins/cloudstack-kubernetes-service.rst
Original file line number Diff line number Diff line change
Expand Up @@ -803,4 +803,4 @@ For verification of the applied CNI Configuration, the following commands can be
.. |cks-cni-configuration-cluster-creation.png| image:: /_static/images/cks-cni-configuration-cluster-creation.png
:alt: Kubernetes cluster creation setting a CNI configuration.
.. |cks-cni-configuration-registration-sample.png| image:: /_static/images/cks-cni-configuration-registration-sample.png
:alt: CNI Configuration registration sample.
:alt: CNI Configuration registration sample.
1 change: 1 addition & 0 deletions source/plugins/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,5 @@ This is the Apache CloudStack Plugins guide. This section gives information for
quota
cloudstack-kubernetes-service
cloudstack-kubernetes-provider.rst
cloudstack-csi-driver.rst