PVCとPVに悩まされたのでそれらの概念を自分なりに解釈した #289
今日もk8sやってました
明日がk8s勉強会です。私はハンズオン担当。
WordPressを立てるみたいな内容でやろうと思っています。
そのために永続化をやりたくてPresistentVolumeとPresistentVolumeClaimについて調べたりしてました。
PresistentVolume(PV)はnamespaceに属さないもので実際のNFSだったりiSCSIだったりを抽象化するためのものです。たぶん。
で、PresistentVolumeClaim(PVC)はnamespaceに属していてPodにPVを割り当てるのに使われます。たぶん。
ちょっと悩んだのは、PVとPVCを作成すると特にmatchLabelsとかで指定してなくてもPVCに対してPVが割り当てられるのがUIなどを見てるとわかります。
これなんでなんだろうか…とちょっと悩んだのですが、PVCはあくまでこういう感じのVolumeが欲しいという要求なので、その条件に合致するPVがある場合には自動的に割り当てが行われるようです。なので、特定のPVをPVCに対して割り当てたい場合はmatchLabelsなどを用いて指定する必要があるみたいです。
ちなみに、作ったマニフェストはこちらに。
ConfigMapとかSecretを使ってないのでその辺は要修正ですかね。
雑談
k8sはなんか、いろんな人の知見がたくさん詰まっていて、なるべくわかりやすく抽象的に捉えた結果いろんな概念が生まれたんだろうなぁとおもった。
使いこなすと強そう。