概要
k3sでは、デフォルトのStorageClassとして、local-path-provisionerが使われる。
しかし、このprovisionerは私の環境1では正常に動作しない。そこで、k3sのドキュメントに従いlonghornを使っている。
longhornにしたものの、デフォルトのStorageClassはlocal-pathを向いているので、PersistentVolumeClaimで、常にstorageClassName: longhorn
をしてしないといけない。
毎回これをやるのはめんどくさいので、longhornをデフォルトに切り替えたい。
この記事では、longhornをデフォルトのStorageClassにする方法を紹介する。
実施コマンド
local-pathをデフォルトのStorageClassから外す。
sudo kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
# 確認
sudo kubectl get sc
# (default)が消えていることを確認する
longhornをデフォルトのStorageClassにする。
sudo kubectl patch storageclass longhorn -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
# 確認
sudo kubectl get sc
# (default)がlonghornについていることを確認する
参考文献
https://note.com/ryoma_0923/n/n7d2837212028
-
Ubuntu Server 20.04 + k3s ↩