ストレージタグ
概要
ストレージタグ機能を使うと、特定のノードやディスクだけをLonghornボリュームデータの保存に利用できます。例えば、高パフォーマンスを必要とするデータは、fast、ssd、または`nvme`のタグが付けられた高性能ディスク、または`baremetal`のタグが付けられた高性能ノードのみを使用できます。
この機能はディスクとノードの両方をサポートします。
セットアップ
タグはLonghorn UIを使用して設定できます:
-
ノード -> ノードを選択 -> ノードとディスクを編集
-
+New Node Tagまたは+New Disk Tagをクリックして新しいタグを追加します。
ノードまたはディスク上の既存のスケジュール済みレプリカは、新しいタグの影響を受けません。
使用方法
ボリュームに複数のタグが指定されている場合、ディスクおよびそのディスクが属するノードは、すべての指定されたタグを持っている必要があります。
Kubernetes
Kubernetes StorageClass パラメータを使用してタグを指定します。
デフォルトのLonghorn StorageClassにタグを指定するには、ConfigMap名`longhorn-storageclass`にパラメータ`nodeSelector: "storage,fast"`を追加します。 次に例を示します。
apiVersion: v1
kind: ConfigMap
data:
storageclass.yaml: |
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn
annotations:
storageclass.kubernetes.io/is-default-class: "true"
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: "Delete"
volumeBindingMode: Immediate
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "480"
diskSelector: "ssd"
nodeSelector: "storage,fast"
LonghornがHelm経由でインストールされている場合は、 values.yaml内の`persistence.defaultNodeSelector`を編集することで実現できます。
また、カスタムストレージクラス設定を使用することもできます。例:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn-fast
provisioner: driver.longhorn.io
parameters:
numberOfReplicas: "3"
staleReplicaTimeout: "480" # 8 hours in minutes
diskSelector: "ssd"
nodeSelector: "storage,fast"