Operator

Operator Installation

To deploy the Operator, follow the instructions available here.

Prerequisites

  1. Create namespace:

       kubectl create namespace unity
    

    This command creates a namespace called unity. You can replace unity with any name you prefer.

  2. Create or Use Sample secret.yaml File.

    Create a file called secret.yaml or pick a sample that has Unity array connection details:

       storageArrayList:
       - arrayId: "APM00******1"                 # unique array id of the Unisphere array
         username: "user"                        # username for connecting to API
         password: "password"                    # password for connecting to API
         endpoint: "https://10.1.1.1/"           # full URL path to the Unity XT API
         skipCertificateValidation: true         # indicates if client side validation of (management)server's certificate can be skipped
         isDefault: true                         # treat current array as a default (would be used by storage classes without arrayID parameter)
    

    Change the parameters with relevant values for your Unity XT array. Add more blocks similar to above for each Unity XT array if necessary.

  3. Create Kubernetes secret:

    Use the following command to create a new secret unity-creds from secret.yaml file.

    kubectl create secret generic unity-creds -n unity --from-file=config=secret.yaml

    Use the following command to replace or update the secret:

    kubectl create secret generic unity-creds -n unity --from-file=config=secret.yaml -o yaml --dry-run | kubectl replace -f -

Install Driver

  1. Create a CR (Custom Resource) for PowerFlex using the sample files provided

    a. Default Configuration: Use the sample file for default settings. Modify if needed.

    [OR]

    b. Detailed Configuration: Use the sample file for detailed settings.

  2. Users should configure the parameters in CR. The following table lists the primary configurable parameters of the Unity XT driver and their default values:

    Parameters
  1. Execute the following command to create Unity XT custom resource:

    kubectl create -f <input_sample_file.yaml>
    

    This command will deploy the CSI Unity XT driver in the namespace specified in the input YAML file.

    • Next, the driver should be installed, you can check the condition of driver pods by running
      kubectl get all -n <driver-namespace>
      
  2. Once the driver Custom Resource (CR) is created, you can verify the installation as mentioned below

    • Check if ContainerStorageModule CR is created successfully using the command below:
      kubectl get csm/<name-of-custom-resource> -n <driver-namespace> -o yaml
      
    • Check the status of the CR to verify if the driver installation is in the Succeeded state. If the status is not Succeeded, see the Troubleshooting guide for more information.
  3. Refer Volume Snapshot Class and Storage Class for the sample files.

Note :

  1. “Kubelet config dir path” is not yet configurable in case of Operator based driver installation.
  2. Snapshotter and resizer sidecars are not optional. They are defaults with Driver installation.