スキップしてメイン コンテンツに移動

PVC周りの落穂拾い

資格試験には出ない範囲なので先延ばしにしていたが、PVとPVCのバインドは動的にできる、という話を聞いていたものの自分でやったことがなかったのでやってみた。
要はラベルでできる。

まずPVはこんな感じ。

kind: PersistentVolume
apiVersion: v1
metadata:
 name: pv1-testing-result
 labels:
   record: testing-result

上記のように最初からlabelsに組み込めばいいけど、自分の場合は、元々あったリソースを流用したのでコマンドでラベルを追加した。

oc label pv pv1-testing-result record=testing-result


続いてPVCは次のような感じにした。
アプリ側はapp=my-testingのようなラベルで紐付けさせたいと思い、PVにつけていたラベルとは別のラベルもつけた。
こうしないと、oc delete all -l my-testingのようにしてまとめて消した時にPVも削除対象になってしまうので、ちょっと違うかなあと思ってわけているけどそれは運用にもよるのだろうね。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
 name: pvc1-testing-result
 labels:
   record: testing-result
   app: my-testing


あとは最近やっとfield-selectorも使えるようになった。
selectorはよく読むとラベルに対するクエリをかけるものだったので、それ以外に対してはこのセレクターを使う必要がある様子。

oc delete pod --field-selector status.phase=Succeeded

資格は取れてもやっぱりまだまだだなあという感じ。