Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

クラウド環境(Azure/GCP/AWS)におけるkubernetesの永続ボリューム(ストレージ)利用


LinuCエヴァンジェリスト・Open Source Summit Japanボランティアリーダー鯨井貴博@opensourcetechです。


はじめに
今回は、クラウド(Azure/GCP/AWS)上のkubernetesにおいて永続ボリューム(ストレージ)として何が使えるのか、調べてみました。


kubernetesにおけるストレージ利用
kubernetesでPodなどの永続的な(消えない)データ保続先を定義する場合、以下があります。
①Pod → PVC(Persistent Volume Claim、ボリューム使用要求) → PV(Persistent Volume、ボリューム領域)
②Pod → PVC → Storage Class → CSI(Container Storage Interface) Driver → 各ストレージ

しかし、クラウド環境においては①は利用しない方向に進んでいます。
deprecatednot availableになっている。
https://kubernetes.io/docs/concepts/storage/persistent-volumes/

ではどうするかというと、②の方法を使います。
Azureの場合、Azure Blob・Azure Disk・Azure File、
GCPの場合、GCE Persistent Disk・Google Cloud Filestore・Google Cloud Storage FUSE・Google Cloud Storage、
AWSの場合、AWS Elastic Block Storage・AWS Elastic File System・AWS FSx for Lustreです。


https://kubernetes-csi.github.io/docs/drivers.html

Driverのリストにはその他に、AliCloud・Dell系ストレージ・IBM Cloud・NetAPP・Nutanix・Pure Storageなど多くのものが利用できるようになっています。

個人的には、ストレージを統合管理できるSODAが面白そうだなと思っているところ。



なお、各CSI Driverを使った時にSnapshot(スナップショット)・Expansion(領域拡張など)・Cloning(クローン)など利用できる or 利用できないという部分には注意が必要です。

Opensourcetech by Takahiro Kujirai