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 usingpxctl
, 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:
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"
allowVolumeExpansion: trueIn 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