Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenShift-K8s 情報共有会 / K8s Storage Basics

OpenShift-K8s 情報共有会 / K8s Storage Basics

A9d0b414035afe78da47980a90e62b68?s=128

suzukiry

March 17, 2021
Tweet

Transcript

  1. OpenShift-K8s 情報共有会 Storage 1⽉分

  2. https://v1-17.docs.kubernetes.io/ja/docs/concepts/overview/components/

  3. Storage

  4. ストレージ • ⼀時的・永続化ストレージ作成の3つの⽅法とリソース 1. ⼀時的に利⽤可能なストレージ • Volume 2. 永続化ストレージ (Static

    Provisiononig) • Volume • PersistentVolume • PersistentVolumeClaim 3. 永続化ストレージ(Dynamic Provisiononig) • Volume • PersistentVolume • PersistentVolumeClaim • StorageClass https://www.netone.co.jp/knowledge-center/netone-blog/20191206-1/ 静的 静的 動的
  5. ストレージ • PersistentVolume/PersistentVolumeClaimによる永続化ストレージの作成 • 永続化ストレージ (Static Provisiononig) 1. PV作成 •

    事前にAdministoratorが⼿動作成 2. Pod起動時に、 PVCで PVを取得 • 永続化ストレージ(Dynamic Provisiononig) 1. StorageClass作成 • 事前にAdministoratorが⼿動作成 2. PV作成不要 • ⾃動でStorageClassから必要分が払い出し 3. Pod起動時に、 PVCで PVを取得 コンテナが増えることを⾒越して、毎回Administratorが 事前にPVを⽤意しないといけない Administratorの払い出しは、 StorageClassの⼀回のみ 運⽤を踏まえると、動的Provisioningがあるべき姿
  6. PV作成時に意識すべきこと - 1/2 • コンテナ群がどのように永続化ストレージにアクセスをしたいのか(アクセスモードの確認) https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html#pv-access-modes_understanding-persistent-storage Persistent Volume Persistent Volume

    Pod Pod Pod RWO 単⼀のノードからR/Wのみ許可 Persistent Volume Persistent Volume Pod Pod Pod ROX 複数のノードからReadのみ許可 Persistent Volume Persistent Volume Pod Pod Pod RWX 複数のノードからR/W許可 Readアクセス Writeアクセス 凡例 Block File
  7. PV作成時に意識すべきこと - 2/2 • ラベル • どんなボリュームが欲しいかを指定する設定(遅い /速いVolumeが欲しい) • 容量

    • ちょうどのサイズのPVがない場合は、⼀番近いVolumeが払い出されてしまう (つまり無駄な容量を提供) • Reclaiming Policy • PV利⽤後の処理⽅法 https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent-storage.html#pv-access-modes_understanding-persistent-storage
  8. Pluginの整理 • PersistentVolume • https://kubernetes.io/docs/concepts/storage/persistent-volumes/#types-of-persistent-volumes • https://docs.openshift.com/container-platform/4.5/storage/understanding-persistent- storage.html#types-of-persistent-volumes_understanding-persistent-storage • StorageClass

    • https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner • https://docs.openshift.com/container-platform/4.5/storage/dynamic-provisioning.html#available-plug- ins_dynamic-provisioning • CSI • https://docs.openshift.com/container-platform/4.5/storage/container_storage_interface/persistent- storage-csi.html#csi-dynamic-provisioning_persistent-storage-csi
  9. Pluginの整理 VOLUME RWO (Block) RWX (File) Support Block Volume Dynamic

    Provisioning その他 AWS EBS ✔ - ✔ ✔ AWS EFS * ✔ ✔ - ✔ * Tech Preview VMware vSphere ✔ - ✔ ✔ NFS ✔ ✔ - - Local volume ✔ - ✔ (only static provisioning) - iSCSI/Fibre Channel ✔ - ✔ (only static provisioning) ✔ * * ストレージシステムによる OCS4 ✔ ✔ ✔ ✔ NetAppやDellEMC、PureStorageなどのオンプレミス向けストレージベンダーはCSI向けのDriverを提供
  10. NFSへの優位点 • 運⽤が煩雑になる • Dynamic Provisioningができない • オートスケールを⾒越してPVを事前に作成しないといけない • SELinux等設定・設定変更も必須。

    • NFSサーバー側でのアクセス制御も必要 • 他のnodeからでもRWO PVをClaimするとread-writeできてしまう可能性 • Reclaimのリスク • 同じ名前のPVCを再利⽤するとdata lossのリスク • インフラサービスでの利⽤は⾮推奨 • Registry, Metrics, Logging, Quay
  11. ストレージ メモ • 優位点についての資料(AWS EBSとNFS) • https://docs.google.com/presentation/d/1_a7jwnpiVijMK3XMkB8wzau4nbNkpV0KQQu9YyfSnzA/edit#slide =id.g7dbb7250dc_0_780