Skip to main content

Nutanix CSI

The Nutanix Container Storage Interface (CSI) pack provides persistent storage for stateful applications. The pack consists of two Helm charts - nutanix-csi-storage and nutanix-cloud-provider.

The Nutanix Container Storage Interface (CSI) Volume Driver chart leverages Nutanix Volumes and Nutanix Files to provide scalable and persistent storage for applications.

The Nutanix Cloud Provider chart is a plugin that allows the integration of the Nutanix Acropolis Hypervisor (AHV) platform with Kubernetes by implementing a node controller function.

Versions Supported

  • 2.6.6

Prerequisites

  • A Nutanix Prism Central account.

  • A Nutanix Prism Element cluster created.

  • A Nutanix cloud registered with Palette with the name nutanix. For more information, refer to Register Nutanix Cloud.

  • The cluster must use Kubernetes version 1.20 or higher.

Parameters

The table below lists commonly used parameters you can configure when adding the Nutanix CSI pack. Review the Nutanix CSI Pack README for a complete list of parameters.

ParameterDescriptionDefault
nutanix-cloud-provider.createConfigCreates a config for the Nutanix Cloud Provider. The existing config will be used if this parameter is set as false.true
nutanix-cloud-provider.configNameName of the ConfigMap for the Nutanix Cloud Provider config.nutanix-config
nutanix-cloud-provider.createSecretCreates a secret for the Nutanix Cloud Provider. The existing secret will be used if this parameter is set as false.true
nutanix-cloud-provider.enableCustomLabelingAdds additional and custom Nutanix labels to nodes.false
nutanix-cloud-provider.topologyDiscovery.typeDefines how topology will be discovered (Prism or Categories).Prism
nutanix-cloud-provider.podAnnotationsAdds annotations to the Cloud Provider Pod.{}
nutanix-csi-storage.volumeClassActivates the Nutanix Volumes Storage Class.false
nutanix-csi-storage.volumeClassNameName of the Nutanix Volumes Storage Class.nutanix-volume
nutanix-csi-storage.volumeClassRetentionRetention policy for the Volumes Storage Class (Delete or Retain).Delete
nutanix-csi-storage.fileClassActivates Nutanix Files Storage Class.false

Usage

Palette provides a default Volume storage class called spectro-storage-class to allow applications requiring volumes to access persistent volumes. This storage class is created by the Nutanix CSI pack.

A storage container must be configured in the Prism Element UI to enable the pack to create the storage class. Once the storage container is configured, specify its name during the cluster profile creation. The container name must be included in the values of the nutanix-csi-storage chart, under the storageContainer: line. The code snippet below showcases an example configuration with a storage container named test-container.

storageContainer: "test-container"

Nutanix Volumes utilize an Internet Small Computer System Interface (iSCSI) data service IP address to provide access to cluster storage. In the Prism Element UI, go to the Cluster Details page and configure the iSCSI Data services IP address as described in the Adding an ISCSI Data Services IP Address guide.

warning

The iSCSI daemon needs to be enabled during the Nutanix cloud registration step. Refer to the Register Nutanix Cloud to learn more about the Nutanix registration process.

Terraform

You can reference the Nutanix CSI pack in Terraform with the following data resource.

data "spectrocloud_registry" "public_registry" {
name = "Public Repo"
}
data "spectrocloud_pack_simple" "nutanix-csi" {
name = "nutanix-csi"
version = "2.6.6"
type = "helm"
registry_uid = data.spectrocloud_registry.public_registry.id
}

References