Zum Inhalt

Verfügbare StorageClasses

NETWAYS Managed Kubernetes Cluster werden mit mehreren vordefinierten StorageClasses bereitgestellt. Falls keine davon den Anforderungen entspricht, können eigene StorageClasses erstellt werden. Weitere Informationen sind in der Cinder-CSI-Driver-Dokumentation zu finden.

Alternativ kann man jederzeit einen unserer MyEngineers® kontaktieren.

~ : kubectl get sc
NAME                                PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION
standard (default)                  cinder.csi.openstack.org   Delete          Immediate           true
general-purpose-1                   cinder.csi.openstack.org   Delete          Immediate           true
general-purpose-1-encrypted         cinder.csi.openstack.org   Delete          Immediate           true
general-purpose-2                   cinder.csi.openstack.org   Delete          Immediate           true
general-purpose-2-encrypted         cinder.csi.openstack.org   Delete          Immediate           true
performance-optimized-1             cinder.csi.openstack.org   Delete          Immediate           true
performance-optimized-1-encrypted   cinder.csi.openstack.org   Delete          Immediate           true
performance-optimized-2             cinder.csi.openstack.org   Delete          Immediate           true
performance-optimized-2-encrypted   cinder.csi.openstack.org   Delete          Immediate           true

standard

standard ist die Default-StorageClass in NETWAYS Managed Kubernetes Clustern.

Es wird ein ext4-formatiertes Volume in OpenStack bereitgestellt, das gelöscht wird, sobald der zugehörige PersistentVolumeClaim (PVC) entfernt wird. VolumeExpansion wird ebenfalls unterstützt, sodass die Größe eines PVCs nachträglich angepasst werden kann und Kubernetes das Resizing übernimmt.

Das IOPS-Limit beträgt 1000 IOPS, mit einer kurzfristigen Erhöhung auf bis zu 2000 IOPS für 60 Sekunden. Sofern es gewünscht ist, eine andere StorageClass als default zu nutzen, muss die Default-Class Annotation entfernt werden. Gelöscht werden darf die StorageClass jedoch nicht, da sie bei einem Cluster Upgrade ansonsten wieder angelegt werden würde. Änderungen an dieser werden jedoch, anders als bei allen anderen StorageClasses, ignoriert.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: standard
allowVolumeExpansion: true
parameters:
  csi.storage.k8s.io/fstype: ext4
provisioner: cinder.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: Immediate

Andere StorageClasses

Die anderen StorageClasses nutzen auch alle das EXT4 Dateisystem. Die Informationen über die IOPS und der Verschlüsselung befinden sich als Annotation auf der jeweiligen StorageClass und können somit direkt aus dem Cluster entnommen werden.

So schaut es im Cluster z.B. aus:

---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    kubernetes.io/description: |-
      Base IOPS:  ~2000 IOPS
      Burst IOPS: Up to 4000 IOPS
      Burst Duration: 60 seconds
      Encrypted: False
  name: general-purpose-2
allowVolumeExpansion: true
parameters:
  csi.storage.k8s.io/fstype: ext4
  type: general-purpose-2
provisioner: cinder.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: Immediate
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    kubernetes.io/description: |-
      Base IOPS:  ~2500 IOPS
      Burst IOPS: Up to 5000 IOPS
      Burst Duration: 60 seconds
      Encrypted: True
  name: performance-optimized-1-encrypted
allowVolumeExpansion: true
parameters:
  csi.storage.k8s.io/fstype: ext4
  type: performance-optimized-1-encrypted
provisioner: cinder.csi.openstack.org
reclaimPolicy: Delete
volumeBindingMode: Immediate

Legacy StorageClasses

Sollten die oben genannten StorageClasses im Cluster nicht vorhanden sein, muss ein Cluster Upgrade ausgeführt werden. Dabei werden die neuen StorageClassen zusätzlich hinzugefügt. Die alten bleiben dabei bestehen.

Unterstützung von ReadWriteMany (RWX)

Derzeit werden keine Volumes mit dem RWX-Zugriffstyp bereitgestellt.

Dieses Feature befindet sich auf unserer Roadmap, jedoch kann derzeit kein genauer Zeitrahmen genannt werden.

Bis dahin kann eine eigene Lösung implementiert werden, beispielsweise auf Basis von NFS oder Rook Ceph. Gerne stehen Dir hierbei unsere MyEngineers® zur Seite.