This is an introduction to play with Storage integration in ARO : OCS (Ceph) vs Azure Disk + File + Blob, Storage types (GRS, etc)
The features described in this workshop might be not yet production-ready, we enable preview-features for the purpose of learning.
See also :
- Azure ARO docs
- ARO 4.x storage docs
- Optimizing Storage in ARO
- http://aroworkshop.io
- https://github.com/akamenev/aro-private
- https://github.com/stuartatmicrosoft/azure-aro/blob/master/aro4-replace-pull-secret.sh
- https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes
Term | Definition |
---|---|
Container Storage Interface (CSI) | A specification attempting to establish an industry standard interface that Container Orchestration Systems (COs) can use to expose arbitrary storage systems to their containerized workloads. |
in-tree | Code that exists in the core Kubernetes repository. |
out-of-tree | Code that exists somewhere outside the core Kubernetes repository. |
CSI Volume Plugin | A new, in-tree volume plugin that acts as an adapter and enables out-of-tree, third-party CSI volume drivers to be used in Kubernetes. |
CSI Volume Driver | An out-of-tree CSI compatible implementation of a volume plugin that can be used in Kubernetes through the Kubernetes CSI Volume Plugin. |
-
ARO does not ship with any CSI drivers, it uses Kubernetes PV framework aka in-tree plugin. These volume plugins were “in-tree” meaning their code was part of the core k8s code and shipped with the core Kubernetes binaries.
-
ARO supports :
- kubernetes.io/azure-disk kubernetes.io/azure-file & provisioners
- CSI Drivers, FlexVol, hostPath
- Red Hat OpenShift Container Storage, a provider of agnostic persistent storage SDS using CEPH
CSI Migration is in Beta (requires k8s v1.17). Timeline/status : GA Target v1.19 When enabled, CSI Migration feature shims all plugin operations from the existing in-tree plugin
- for azureDisk to the disk.csi.azure.com CSI driver
- for azureFile to the file.csi.azure.com CSI driver
- Setup Tools
- Check subscription
- Setup environment variables
- Setup pre-requisites
- Create RG
- Create Storage
- Get a Red Hat pull secret
- Setup Network
- Setup ARO cluster
- Setup HELM
- Setup CSI drivers
- Setup Azure Disk CSI driver
- Setup Azure File CSI driver
- Setup Rook & cephFS CSI driver