This section of documentation covers the use of the managed Kubernetes AWS service EKS. For information on the installation of StorageOS with vanilla Kubernetes in AWS VMs, please refer to the Kubernetes standard installation procedure.
EKS and StorageOS
EKS deployment of Kubernetes uses AWS Linux by default with an optimized kernel. As the requisite kernel modules are not available for StorageOS to use TCMU, FUSE will be used as a fallback.
Currently upgrading the Kubernetes version on EKS is not supported. This is because nodes are replaced rather than being upgraded in place. As such manual relocation of data and etcd members is required. We are working with the EKS team to improve the upgrade process to create a better user experience.
Kubernetes with StorageOS
Kubernetes and StorageOS communicate with each other to perform actions such as creation, deletion or mounting of volumes. The CSI (Container Storage Interface) driver is the standard communication method. Using CSI, Kubernetes and StorageOS communicate over a Unix domain socket.
For this platform the only supported setup for communication is CSI.
CSI (Container Storage Interface) Note
CSI is the standard method of communication that enables storage drivers to release on their own schedule. This allows storage vendors to upgrade, update, and enhance their drivers without the need to update Kubernetes source code, or follow Kubernetes release cycles.
CSI is available from Kubernetes 1.9 alpha. CSI is considered GA from Kubernetes 1.13, hence StorageOS recommends the use of CSI. In addition, the StorageOS Cluster Operator handles the configuration of the CSI driver and its complexity by detecting the version of the Kubernetes installed.
Check out the status of the CSI release cycle in relation with Kubernetes in the CSI project page.
CSI communication is fully supported by StorageOS if the cluster is deployed with any supported Linux Distribution.