Kubernetes is the leading open source system for managing containers in the modern, cloud environment. There is a need for applications running in those containers to quickly access data that exists in large, external, storage systems. Kubernetes Container Storage Interface (CSI) is the API for providing access to such storage and managing the complete storage lifecycle including provisioning, snapshots, clones, resizing, and removing. CSI is the natural interface between the growing needs of organizations to leverage Kubernetes for application scaling and TrueNAS driven by OpenZFS.
The modern world of cloud computing has created a need to manage multiple applications not only running on the same systems but also on multiple systems. Containers are the leading approach to manage applications with efficiency. Kubernetes is the leading open source container management system. In order to access data storage systems, the Kubernetes CSI was released in 2018.
A new implementation of the CSI is the Democratic CSI driver that connects Kubernetes, and other container systems, with the open source ZFS file system. ZFS is at the heart of iXsystems TrueNAS. The ability to work with the Democratic CSI driver enhances TrueNAS’s ability to work closely with containerized applications to provide rapid access to mission critical information. The Democratric CSI driver uses the APIs of TrueNAS and the features of ZFS. Through this CSI, the full power of TrueNAS CORE, Enterprise, and SCALE are available to containerized applications in Kubernetes.
For those in our community who have used TrueNAS CORE (FreeNAS) for years, your access to containers has improved. You have direct access to the storage system via CSI. One question some of our long time developers might ask is how this relates to Docker. The Kubernetes group points out that Docker is a development environment, and that Docker images can be migrated into Kubernetes as long as the image is Open Container Initiative (OCI) compliant. As people move forward, we will work with the Kubernetes community to resolve any issues.
TrueNAS Enterprise customers who deploy high availability (HA) applications can also leverage CSI. Kubernetes HA supports CSI and the HA tools in TrueNAS Enterprise ensure that the entire system architecture can support the high availability needs of mission critical applications.
The cloud isn’t just about managing multiple applications on individual servers. Scale-out is the ability to manage applications and groups of applications running on multiple servers, coordinating their performance. Both Kubernetes and TrueNAS SCALE are designed for the modern, scale-out environment, and CSI is a link to manage storage resources in the hybrid cloud.
The Democratic CSI driver integrates ZFS and TrueNAS into the Kubernetes environment and other container management platforms including Nomad. Kubernetes and the TrueNAS system communicate via the CSI to set up the storage volumes, and iSCSI/NFS then provides the direct link between applications in pods/containers and the TrueNAS storage system. The iXsystems team has worked to provide our community with these tools to ensure that TrueNAS and Kubernetes are the easiest way to provide data into modern, high demand, containerized, applications.
Contact iXsystems to learn more about how to integrate TrueNAS into your Kubernetes architecture. For those interested in using Kubernetes within TrueNAS SCALE, please look at the Apps documentation provided.