|
| 1 | +.. Licensed to the Apache Software Foundation (ASF) under one |
| 2 | + or more contributor license agreements. See the NOTICE file |
| 3 | + distributed with this work for additional information# |
| 4 | + regarding copyright ownership. The ASF licenses this file |
| 5 | + to you under the Apache License, Version 2.0 (the |
| 6 | + "License"); you may not use this file except in compliance |
| 7 | + with the License. You may obtain a copy of the License at |
| 8 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | + Unless required by applicable law or agreed to in writing, |
| 10 | + software distributed under the License is distributed on an |
| 11 | + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| 12 | + KIND, either express or implied. See the License for the |
| 13 | + specific language governing permissions and limitations |
| 14 | + under the License. |
| 15 | +
|
| 16 | +CloudStack CSI Driver |
| 17 | +======================= |
| 18 | + |
| 19 | +CloudStack Container Storage Interface (CSI) plugin enables Kubernetes clusters running on Apache CloudStack to dynamically provision, manage, and use CloudStack storage volumes |
| 20 | + |
| 21 | +Features |
| 22 | +-------- |
| 23 | + |
| 24 | +- Automatic provisioning: Create persistent volumes on-demand from Kubernetes PVCs |
| 25 | +- No manual intervention: Eliminates need to manually create CloudStack volumes |
| 26 | +- Kubernetes-native: Uses standard Kubernetes storage classes and PVC workflows |
| 27 | + |
| 28 | +Advanced Storage Features |
| 29 | +------------------------- |
| 30 | +- Volume snapshots: Backup and restore capabilities |
| 31 | +- Dynamic expansion: Grow volumes without downtime or data migration |
| 32 | +- Flexible reclaim policies: Choose between automatic cleanup or data retention |
| 33 | + |
| 34 | +Core Components |
| 35 | +----------------- |
| 36 | +- CSI Controller: Manages volume lifecycle, snapshots, and CloudStack API interactions |
| 37 | +- CSI Node Driver: Handles volume mounting and unmounting on worker nodes |
| 38 | +- Storage Class Syncer: Automatically syncs CloudStack disk offerings to Kubernetes storage classes |
| 39 | + |
| 40 | +CSI integration with CKS |
| 41 | +~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 42 | +From 4.22.0, CloudStack Kubernetes Service provides CSI integration that allows dynamic provisioning of CloudStack volumes for Kubernetes pods running on CKS clusters. |
| 43 | +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/ |
| 44 | + |
| 45 | +|cks-csi-integration.png| |
| 46 | + |
| 47 | +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. |
| 48 | +Doing so will setup the CSI components - the CSI controller and the CSI node daemonset - on the cluster during its creation. |
| 49 | + |
| 50 | +|cks-csi-pods.png| |
| 51 | + |
| 52 | +Further details about using CSI with CKS can be found at: https://github.com/cloudstack/cloudstack-csi-driver/blob/main/README.md |
| 53 | + |
| 54 | +.. |cks-csi-integration.png| image:: /_static/images/cks-csi-integration.png |
| 55 | + :alt: Integration of CSI with CKS. |
| 56 | +.. |cks-csi-pods.png| image:: /_static/images/cks-csi-pods.png |
| 57 | + :alt: CSI Pods. |
0 commit comments