CSI Driver for Dell EMC PowerScaleを試す(テスト編)
サービスマネージメントグループの秋元です。
前回はCSI Driver for Dell EMC PowerScaleのインストールの流れをご紹介しました。
今回はCSMドキュメントのテストシナリオがどのような動作になるかご紹介したいと思います。
Test PowerScale CSI Driver
Creating a storage class
前回のインストール編で既に作成済の為飛ばします。
Creating a volume
PVC(PersistentVolumeClaim)を設定します。
[root@csips-node1 csi-powerscale]# kubectl apply -f samples/persistentvolumeclaim/pvc.yaml
persistentvolumeclaim/test-pvc created
[root@csips-node1 csi-powerscale]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
test-pvc Bound k8s-f99a3e308f 5Gi RWO isilon 6s
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
k8s-f99a3e308f 5Gi RWO Delete Bound default/test-pvc isilon 12s
[root@csips-node1 csi-powerscale]#
PV(PersistentVolume)が正常に作成されるとPowerScale側にnfs exportとquota設定が入ります。
A200-1# isi nfs exports list
ID Zone Paths Description
--------------------------------------------------------------------------------------
19 System /ifs/data/csi/k8s-f99a3e308f CSI_QUOTA_ID:sQu_AAEAAAAAAAAAAAAAQA0AAAAAAAAA
--------------------------------------------------------------------------------------
Total: 1
A200-1# isi nfs exports view 19
ID: 19
Zone: System
Paths: /ifs/data/csi/k8s-f99a3e308f
Description: CSI_QUOTA_ID:sQu_AAEAAAAAAAAAAAAAQA0AAAAAAAAA
Clients: localhost
Root Clients: -
Read Only Clients: -
Read Write Clients: -
All Dirs: No
Block Size: 8.00k
Can Set Time: Yes
Case Insensitive: No
Case Preserving: Yes
Chown Restricted: No
Commit Asynchronous: No
Directory Transfer Size: 128.00k
Encoding: DEFAULT
Link Max: 32767
Map Lookup UID: No
Map Retry: Yes
Map Root
Enabled: True
User: nobody
Primary Group: -
Secondary Groups: -
Map Non Root
Enabled: False
User: nobody
Primary Group: -
Secondary Groups: -
Map Failure
Enabled: False
User: nobody
Primary Group: -
Secondary Groups: -
Map Full: Yes
Max File Size: 8192.00P
Name Max Size: 255
No Truncate: No
Read Only: No
Readdirplus: Yes
Readdirplus Prefetch: 10
Return 32Bit File IDs: No
Read Transfer Max Size: 1.00M
Read Transfer Multiple: 512
Read Transfer Size: 128.00k
Security Type: unix
Setattr Asynchronous: No
Snapshot: -
Symlinks: Yes
Time Delta: 1.0 ns
Write Datasync Action: datasync
Write Datasync Reply: datasync
Write Filesync Action: filesync
Write Filesync Reply: filesync
Write Unstable Action: unstable
Write Unstable Reply: unstable
Write Transfer Max Size: 1.00M
Write Transfer Multiple: 512
Write Transfer Size: 512.00k
A200-1#
A200-1# isi quota list
Type AppliesTo Path Snap Hard Soft Adv Used Efficiency
--------------------------------------------------------------------------------------------
directory DEFAULT /ifs/data/csi/k8s-f99a3e308f No 5.00G - - 0.00 0.00 : 1
--------------------------------------------------------------------------------------------
Total: 1
A200-1# isi quota quotas view /ifs/data/csi/k8s-f99a3e308f directory
Path: /ifs/data/csi/k8s-f99a3e308f
Type: directory
Snapshots: No
Enforced: Yes
Container: Yes
Linked: No
Usage
Files: 1
Physical(With Overhead): 32.00k
FSPhysical(Deduplicated): 32.00k
FSLogical(W/O Overhead): 0.00
AppLogical(ApparentSize): 0.00
ShadowLogical: -
Efficiency(Logical/Physical): 0.00 : 1
Over: -
Thresholds On: fslogicalsize
ReadyToEnforce: Yes
Thresholds
Hard Threshold: 5.00G
Hard Exceeded: No
Hard Last Exceeded: -
Advisory: -
Advisory Threshold Percentage: -
Advisory Exceeded: No
Advisory Last Exceeded: -
Soft Threshold: -
Soft Threshold Percentage: -
Soft Exceeded: No
Soft Last Exceeded: -
Soft Grace: -
A200-1#
Attach the volume to Host
CSMドキュメントではnginxのPodを作成して、前述のPVCを利用する形でテストを進めていますが、Podを増やしたり移動したりしてテストするにはStatefulSetの方が都合がいい為、今回はStatefulSetを作成して進めています。
StatefulSetの作成には下記を参考にしています。
StatefulSetではvolumeClaimTemplatesの設定により動的にPVCを作成してPodにattachします。この為前述したPVCは直接利用しません。なおPVCのspecは同じものになっています。
StatefulSetをwork/nginx-statefulset.yamlとして作成します。
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: ngnix-pv-ss
spec:
selector:
matchLabels:
app: nginx
serviceName: "nginx"
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
terminationGracePeriodSeconds: 10
containers:
- name: test-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: test-pv-storage
volumeClaimTemplates:
- metadata:
name: test-pv-storage
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "isilon"
resources:
requests:
storage: 5Gi
StatefulSetを設定します。
[root@csips-node1 csi-powerscale]# kubectl apply -f work/nginx-statefulset.yaml
service/nginx created
statefulset.apps/ngnix-pv-ss created
[root@csips-node1 csi-powerscale]# kubectl get statefulset -o wide
NAME READY AGE CONTAINERS IMAGES
ngnix-pv-ss 0/1 22s test-pv-container nginx
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ngnix-pv-ss-0 1/1 Running 0 84s 10.244.2.4 csips-node3 <none> <none>
[root@csips-node1 csi-powerscale]#
PVC
[root@csips-node1 csi-powerscale]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
test-pv-storage-ngnix-pv-ss-0 Bound k8s-30857da7e1 5Gi RWO isilon 100s
test-pvc Bound k8s-f99a3e308f 5Gi RWO isilon 6m50s
[root@csips-node1 csi-powerscale]#
PV
[root@csips-node1 csi-powerscale]# kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
k8s-30857da7e1 5Gi RWO Delete Bound default/test-pv-storage-ngnix-pv-ss-0 isilon 106s
k8s-f99a3e308f 5Gi RWO Delete Bound default/test-pvc isilon 6m56s
[root@csips-node1 csi-powerscale]#
ここまでで今回のテスト構成が完成しました。
PowerScale
A200-1# isi nfs exports list
ID Zone Paths Description
--------------------------------------------------------------------------------------
19 System /ifs/data/csi/k8s-f99a3e308f CSI_QUOTA_ID:sQu_AAEAAAAAAAAAAAAAQA0AAAAAAAAA
20 System /ifs/data/csi/k8s-30857da7e1 CSI_QUOTA_ID:sgu_AAEAAAAAAAAAAAAAQA4AAAAAAAAA
--------------------------------------------------------------------------------------
Total: 2
A200-1# isi nfs exports view 19 | grep Client
Clients: localhost
Root Clients: -
Read Only Clients: -
Read Write Clients: -
A200-1# isi nfs exports view 20 | grep Client
Clients: 172.16.26.26, localhost
Root Clients: -
Read Only Clients: -
Read Write Clients: -
A200-1#
StatefulSetがPodを生成するタイミングでPVがattachされ、Podが動作するnodeのIPでnfs clientの制限が追加されています。
nginx PodのPowerScaleのマウント状態を確認します。
[root@csips-node1 csi-powerscale]# kubectl exec ngnix-pv-ss-0 -- df -h | grep ifs
172.16.27.149:/ifs/data/csi/k8s-30857da7e1 5.0G 0 5.0G 0% /usr/share/nginx/html
[root@csips-node1 csi-powerscale]#
/usr/share/nginx/htmlがPowerScaleをマウントしているので、nginx Pod経由でPowerScale上にファイルを作成して、curlでアクセスしてみます。
[root@csips-node1 csi-powerscale]# kubectl exec ngnix-pv-ss-0 -- /bin/sh -c 'echo Hello, world! > /usr/share/nginx/html/index.html'
[root@csips-node1 csi-powerscale]# curl http://10.244.2.4/
Hello, world!
[root@csips-node1 csi-powerscale]#
ファイルの永続性の確認の為にPodを一度削除して再作成した状態で再度curlで確認してみます。
[root@csips-node1 csi-powerscale]# kubectl get statefulset
NAME READY AGE
ngnix-pv-ss 1/1 3m51s
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ngnix-pv-ss-0 1/1 Running 0 3m59s 10.244.2.4 csips-node3 <none> <none>
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# kubectl scale statefulset ngnix-pv-ss --replicas=0
statefulset.apps/ngnix-pv-ss scaled
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide
No resources found in default namespace.
[root@csips-node1 csi-powerscale]# kubectl scale statefulset ngnix-pv-ss --replicas=1
statefulset.apps/ngnix-pv-ss scaled
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ngnix-pv-ss-0 1/1 Running 0 81s 10.244.2.5 csips-node3 <none> <none>
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# curl http://10.244.2.5/
Hello, world!
[root@csips-node1 csi-powerscale]#
Podを再作成したことでIPが変更されましたがファイルに影響が無いことが確認出来ました。
次は明示的にPodを別のNodeに移動させた場合も確認してみます。
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide --show-labels
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS
ngnix-pv-ss-0 1/1 Running 0 2m4s 10.244.2.5 csips-node3 <none> <none> app=nginx,controller-revision-hash=ngnix-pv-ss-84df95d6fd,statefulset.kubernetes.io/pod-name=ngnix-pv-ss-0
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# kubectl drain csips-node3 --pod-selector='app=nginx'
node/csips-node3 cordoned
evicting pod default/ngnix-pv-ss-0
pod/ngnix-pv-ss-0 evicted
node/csips-node3 evicted
[root@csips-node1 csi-powerscale]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ngnix-pv-ss-0 1/1 Running 0 78s 10.244.1.4 csips-node2 <none> <none>
[root@csips-node1 csi-powerscale]#
[root@csips-node1 csi-powerscale]# curl http://10.244.1.4/
Hello, world!
[root@csips-node1 csi-powerscale]#
Podがcsips-node3からcsips-node2に移動(再作成)してもファイルに影響が無いことが確認できました。
Nodeの状態を戻しておきます。
[root@csips-node1 csi-powerscale]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
csips-node1 Ready control-plane,master 39m v1.22.2
csips-node2 Ready <none> 34m v1.22.2
csips-node3 Ready,SchedulingDisabled <none> 34m v1.22.2
[root@csips-node1 csi-powerscale]# kubectl uncordon csips-node3
node/csips-node3 uncordoned
[root@csips-node1 csi-powerscale]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
csips-node1 Ready control-plane,master 39m v1.22.2
csips-node2 Ready <none> 34m v1.22.2
csips-node3 Ready <none> 34m v1.22.2
[root@csips-node1 csi-powerscale]#
Create Snapshot
VolumeSnapshotClassはインストール編で設定済の為飛ばします。
work/snapshot-of-test-pv-storage.yamlにコピーしてnameとpersistentVolumeClaimNameを調整しています。
[root@csips-node1 csi-powerscale]# cp samples/volumesnapshot/snapshot-of-test-pvc.yaml work/snapshot-of-test-pv-storage.yaml
[root@csips-node1 csi-powerscale]# sed -i 's/v1beta1/v1/' work/snapshot-of-test-pv-storage.yaml
[root@csips-node1 csi-powerscale]# sed -i 's/name: snapshot-of-test-pvc/name: snapshot-of-test-pv-storage/' work/snapshot-of-test-pv-storage.yaml
[root@csips-node1 csi-powerscale]# sed -i 's/persistentVolumeClaimName: test-pvc/persistentVolumeClaimName: test-pv-storage-ngnix-pv-ss-0/' work/snapshot-of-test-pv-storage.yaml
[root@csips-node1 csi-powerscale]# kubectl create -f work/snapshot-of-test-pv-storage.yaml
volumesnapshot.snapshot.storage.k8s.io/snapshot-of-test-pv-storage created
[root@csips-node1 csi-powerscale]# kubectl get volumesnapshot
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT
CREATIONTIME AGE
snapshot-of-test-pv-storage true test-pv-storage-ngnix-pv-ss-0 14 isilon-snapclass snapcontent-6c6f754f-cc63-4970-a494-724204716610 38s 7s
[root@csips-node1 csi-powerscale]#
また上記ではapiVersionをv1beta1からv1に変更しています。これはv1bata1がdeprecatedとなっている為です。
PowerScale側にはsnapshotが作成されています。
A200-1# isi snapshot list
ID Name Path
-------------------------------------------------------------------------------
10 snapshot-6c6f754f-cc63-4970-a494-724204716610 /ifs/data/csi/k8s-30857da7e1
-------------------------------------------------------------------------------
Total: 1
A200-1#
Create Volume from Snapshot
work/pvc-from-snapshot.yamlにコピーしてnameを調整しています。
[root@csips-node1 csi-powerscale]# cp samples/persistentvolumeclaim/pvc-from-snapshot.yaml work/pvc-from-snapshot.yaml
[root@csips-node1 csi-powerscale]# sed -i 's/name: snapshot-of-test-pvc/name: snapshot-of-test-pv-storage/' work/pvc-from-snapshot.yaml
[root@csips-node1 csi-powerscale]# kubectl create -f work/pvc-from-snapshot.yaml
persistentvolumeclaim/pvc-from-snapshot created
[root@csips-node1 csi-powerscale]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-from-snapshot Bound k8s-77a800bf13 5Gi RWX isilon 5s
test-pv-storage-ngnix-pv-ss-0 Bound k8s-30857da7e1 5Gi RWO isilon 15m
test-pvc Bound k8s-f99a3e308f 5Gi RWO isilon 20m
[root@csips-node1 csi-powerscale]# kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
k8s-30857da7e1 5Gi RWO Delete Bound default/test-pv-storage-ngnix-pv-ss-0 isilon 15m
k8s-77a800bf13 5Gi RWX Delete Bound default/pvc-from-snapshot isilon 9s
k8s-f99a3e308f 5Gi RWO Delete Bound default/test-pvc isilon 20m
[root@csips-node1 csi-powerscale]#
SnapshotからPVC、PVが作成されています。
PowerScale側ではnfs exportとquotaが作成されています。
A200-1# isi nfs exports list
ID Zone Paths Description
--------------------------------------------------------------------------------------
19 System /ifs/data/csi/k8s-f99a3e308f CSI_QUOTA_ID:sQu_AAEAAAAAAAAAAAAAQA0AAAAAAAAA
20 System /ifs/data/csi/k8s-30857da7e1 CSI_QUOTA_ID:sgu_AAEAAAAAAAAAAAAAQA4AAAAAAAAA
21 System /ifs/data/csi/k8s-77a800bf13 CSI_QUOTA_ID:vxCtAAEAAAAAAAAAAAAAQA8AAAAAAAAA
--------------------------------------------------------------------------------------
Total: 3
A200-1# isi quota quotas list
Type AppliesTo Path Snap Hard Soft Adv Used Efficiency
--------------------------------------------------------------------------------------------
directory DEFAULT /ifs/data/csi/k8s-77a800bf13 No 5.00G - - 8.03k 0.10 : 1
directory DEFAULT /ifs/data/csi/k8s-f99a3e308f No 5.00G - - 0.00 0.00 : 1
directory DEFAULT /ifs/data/csi/k8s-30857da7e1 No 5.00G - - 8.03k 0.10 : 1
--------------------------------------------------------------------------------------------
Total: 3
A200-1#
Delete Snapshot
[root@csips-node1 csi-powerscale]# kubectl get volumesnapshot
NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT
CREATIONTIME AGE
snapshot-of-test-pv-storage true test-pv-storage-ngnix-pv-ss-0 14 isilon-snapclass snapcontent-6c6f754f-cc63-4970-a494-724204716610 2m50s 2m19s
[root@csips-node1 csi-powerscale]# kubectl delete volumesnapshot snapshot-of-test-pv-storage
volumesnapshot.snapshot.storage.k8s.io "snapshot-of-test-pv-storage" deleted
[root@csips-node1 csi-powerscale]# kubectl get volumesnapshot
No resources found in default namespace.
[root@csips-node1 csi-powerscale]#
PowerScale側でもSnapshotが削除されています。
A200-1# isi snapshot list
ID Name Path
------------
------------
Total: 0
A200-1#
Create a new volume from existing volume(volume clone)
work/pvc-from-pvc.yamlにコピーしてnameを調整しています。
[root@csips-node1 csi-powerscale]# cp samples/persistentvolumeclaim/pvc-from-pvc.yaml work/pvc-from-pvc.yaml
[root@csips-node1 csi-powerscale]# sed -i 's/name: test-pvc/name: test-pv-storage-ngnix-pv-ss-0/' work/pvc-from-pvc.yaml
[root@csips-node1 csi-powerscale]# kubectl create -f work/pvc-from-pvc.yaml
persistentvolumeclaim/pvc-from-pvc created
[root@csips-node1 csi-powerscale]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-from-pvc Bound k8s-9841e5e9ca 5Gi RWX isilon 5s
pvc-from-snapshot Bound k8s-77a800bf13 5Gi RWX isilon 2m24s
test-pv-storage-ngnix-pv-ss-0 Bound k8s-30857da7e1 5Gi RWO isilon 17m
test-pvc Bound k8s-f99a3e308f 5Gi RWO isilon 22m
[root@csips-node1 csi-powerscale]# kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
k8s-30857da7e1 5Gi RWO Delete Bound default/test-pv-storage-ngnix-pv-ss-0 isilon 17m
k8s-77a800bf13 5Gi RWX Delete Bound default/pvc-from-snapshot isilon 2m28s
k8s-9841e5e9ca 5Gi RWX Delete Bound default/pvc-from-pvc isilon 8s
k8s-f99a3e308f 5Gi RWO Delete Bound default/test-pvc isilon 22m
[root@csips-node1 csi-powerscale]#
PowerScale側ではnfs exportとquotaが追加されています。
A200-1# isi nfs exports list
ID Zone Paths Description
--------------------------------------------------------------------------------------
19 System /ifs/data/csi/k8s-f99a3e308f CSI_QUOTA_ID:sQu_AAEAAAAAAAAAAAAAQA0AAAAAAAAA
20 System /ifs/data/csi/k8s-30857da7e1 CSI_QUOTA_ID:sgu_AAEAAAAAAAAAAAAAQA4AAAAAAAAA
21 System /ifs/data/csi/k8s-77a800bf13 CSI_QUOTA_ID:vxCtAAEAAAAAAAAAAAAAQA8AAAAAAAAA
22 System /ifs/data/csi/k8s-9841e5e9ca CSI_QUOTA_ID:xBCtAAEAAAAAAAAAAAAAQBAAAAAAAAAA
--------------------------------------------------------------------------------------
Total: 4
A200-1# isi quota quotas list
Type AppliesTo Path Snap Hard Soft Adv Used Efficiency
--------------------------------------------------------------------------------------------
directory DEFAULT /ifs/data/csi/k8s-77a800bf13 No 5.00G - - 8.03k 0.10 : 1
directory DEFAULT /ifs/data/csi/k8s-9841e5e9ca No 5.00G - - ~28.00 -
directory DEFAULT /ifs/data/csi/k8s-f99a3e308f No 5.00G - - 0.00 0.00 : 1
directory DEFAULT /ifs/data/csi/k8s-30857da7e1 No 5.00G - - 8.03k 0.10 : 1
--------------------------------------------------------------------------------------------
Total: 4
A200-1#
To Unattach the volume from Host
今回はStatefulSetを作成している為これを削除します。
[root@csips-node1 csi-powerscale]# kubectl delete statefulset ngnix-pv-ss
statefulset.apps "ngnix-pv-ss" deleted
[root@csips-node1 csi-powerscale]# kubectl get pods
No resources found in default namespace.
[root@csips-node1 csi-powerscale]#
To delete the volume
テストで作られたPVCを削除します。
[root@csips-node1 csi-powerscale]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-from-pvc Bound k8s-9841e5e9ca 5Gi RWX isilon 101s
pvc-from-snapshot Bound k8s-77a800bf13 5Gi RWX isilon 4m
test-pv-storage-ngnix-pv-ss-0 Bound k8s-30857da7e1 5Gi RWO isilon 19m
test-pvc Bound k8s-f99a3e308f 5Gi RWO isilon 24m
[root@csips-node1 csi-powerscale]# kubectl delete pvc test-pvc test-pv-storage-ngnix-pv-ss-0 pvc-from-snapshot pvc-from-pvc
persistentvolumeclaim "test-pvc" deleted
persistentvolumeclaim "test-pv-storage-ngnix-pv-ss-0" deleted
persistentvolumeclaim "pvc-from-snapshot" deleted
persistentvolumeclaim "pvc-from-pvc" deleted
[root@csips-node1 csi-powerscale]# kubectl get pvc
No resources found in default namespace.
[root@csips-node1 csi-powerscale]# kubectl get persistentvolume
No resources found
[root@csips-node1 csi-powerscale]#
PowerScale側もnfs export, quotaが削除されています。
A200-1# isi nfs exports list
ID Zone Paths Description
-------------------------
-------------------------
Total: 0
A200-1#
A200-1# isi quota quotas list
Type AppliesTo Path Snap Hard Soft Adv Used Efficiency
------------------------------------------------------
------------------------------------------------------
Total: 0
A200-1#
テストはこれで以上となります。
まとめ
前回と今回の記事でCSI Driver for Dell EMC PowerScaleのインストールの流れと、テスト時の動作をご紹介いたしました。
以前ご紹介したCSI Driver for Dell EMC Isilon(v1.0.0)ではインストール時にKubernetesのfeatuer gates(アルファ機能/実験的機能)の設定が必要でしたが、CSI Driver for Dell EMC PowerScale(v1.6.1)ではKubernetes側のバージョンもv.1.14からv1.22に上がり各種機能が取り込まれたことでインストール手順が大幅に簡略化され、導入がさらに容易になっています。
このCSI Driverをインストールすることで⾼可⽤性や拡張性を備えたDell EMC PowerScaleをKubernetesの永続性のあるストレージとして簡単にご利⽤頂けますので、Dell EMC PowerScaleの新しい利用用途としてご検討頂ければと思います。