Configure IO profiles for Portworx volumes on Kubernetes


Portworx volumes on Kubernetes can use different IO profiles to optimize the Portworx volumes’ performance for specific use-cases. For information about what IO profiles are, as well as the different profiles available, see the IO profiles concept section.

NOTE:

  • By default, Portworx uses an auto IO profile, which automatically applies an IO profile that is most appropriate for the data patterns it sees.
  • You can also configure these profiles manually using pxctl. For information about performance tuning using pxctl, visit the Performance tuning section of the documentation.

Manually configure IO profiles

You can direct a group of volumes to use a specific IO profile by defining it at the storageClass level and referencing that storageClass in your PVCs:

  1. Create and configure a storageClass as desired. Add the parameters.io_profile field with the IO profile you want to specify:

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: portworx-io-profile
    provisioner: kubernetes.io/portworx-volume
    parameters:
    repl: "2"
    io_profile: "db_remote"
  2. In your PVCs, reference the storageClass you just created to apply your IO profile to volumes:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: px-db-remote-pvc
      annotations:
        volume.beta.kubernetes.io/storage-class: portworx-io-profile
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi


Last edited: Friday, Jul 30, 2021