この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

Kubernetesの永続ボリュームとストレージクラスを作成する

データを保持する必要があるアプリケーションをデプロイする際には、永続ストレージを作成する必要があります。永続ストレージは、アプリケーションを実行しているポッドとは別にアプリケーションデータを保存することを可能にします。このストレージの実践により、アプリケーションのポッドが失敗してもアプリケーションデータを維持することができます。

このセクションの文書は、Kubernetesの永続ボリューム、永続ボリュームクレーム、およびストレージクラスの概念を理解していることを前提としています。詳細については、ストレージの動作に関するセクションを参照してください。

前提条件

永続ストレージを設定するには、Manage Volumes ロールが必要です。

クラウドにホストされているクラスターのためにストレージをプロビジョニングする場合、ストレージとクラスターのホストは同じクラウドプロバイダーである必要があります。

Rancherを使用して新しいストレージをプロビジョニングするには、クラウドプロバイダーを有効にする必要があります。クラウドプロバイダーを有効にする詳細については、このページを参照してください。

既存の永続ストレージをクラスターに接続する場合、クラウドプロバイダーを有効にする必要はありません。

既存のストレージを設定する

既存のストレージを設定するための全体的なワークフローは次のとおりです:

  1. 永続ストレージを設定します。これはインフラストラクチャプロバイダーのストレージであるか、または自分自身のストレージである可能性があります。

  2. 永続ストレージを参照する永続ボリューム(PV)を追加します。

  3. 永続ボリュームクレーム(PVC)を追加し、PVを参照します。

  4. ワークロード内でPVCをボリュームとしてマウントします。

詳細および前提条件については、このページを参照してください。

Rancherでの新しいストレージの動的プロビジョニング

新しいストレージをプロビジョニングするための全体的なワークフローは次のとおりです:

  1. ストレージクラスを追加し、ストレージプロバイダーを使用するように構成します。ストレージクラスは、インフラプロバイダーのストレージを参照することも、自前のストレージを参照することもできます。

  2. 永続ボリュームクレーム(PVC)を追加し、ストレージクラスを参照します。

  3. PVCをワークロードのボリュームとしてマウントします。

詳細および前提条件については、このページを参照してください。

SUSE Storageストレージ

SUSE Storage は、Kubernetes向けの軽量で信頼性が高く、使いやすい分散型ブロックストレージシステムです。

Longhorn は無料のオープンソースソフトウェアです。元々Rancher Labsによって開発されたLonghornは、現在、Cloud Native Computing Foundationのサンドボックスプロジェクトとして開発が進められています。Helm、kubectl、または Rancher UI を使用して、任意のKubernetesクラスターにインストールできます。

ブロックストレージのプールをお持ちの場合、Longhornはクラウドプロバイダーに依存することなく、Kubernetesクラスターに永続ストレージを提供するのに役立ちます。Longhornの機能の詳細については、 ドキュメントを参照してください。

Rancher v2.5は、Rancher管理クラスターへのLonghornのインストールプロセスを簡素化しました。詳細については、Cloud Native Storage with Longhornを参照してください。

ストレージプロビジョニングの例

以下の例では、NFS, vSphere, および Amazon’s EBS を用いたストレージのプロビジョニング方法を示します。

GlusterFS Volumes

GlusterFSボリューム上にデータを保存するクラスターでは、`kubelet`の再起動後にポッドがボリュームをマウントできなくなることがあります。この問題を防ぐ方法については、このページを参照してください。

iSCSIボリューム

iSCSIボリュームにデータを保存するRancherが起動したKubernetesクラスターでは、kubeletがiSCSIボリュームに自動的に接続できない問題が発生することがあります。この問題を解決する方法については、このページを参照してください。

hostPath Volumes

K3sとRKE2の両方は、 Rancher Local Path Provisionerを使用してhostPathボリュームのマウントをサポートしています。設定情報については、ディストリビューションに応じてhttps://documentation.suse.com/cloudnative/k3s/latest/en/add-ons/storage.html#_setting_up_the_local_storage_provider[K3s - ボリュームとストレージ]またはhttps://documentation.suse.com/cloudnative/rke2/latest/en/advanced.html#_extra_control_plane_component_volume_mounts[RKE2 - 高度なオプションと構成]を参照してください。

VMware vSphereクラウドプロバイダーのIn-treeからOut-of-treeへの移行

Kubernetesは、クラウドプロバイダーをIn-treeで管理することから脱却しつつあります。vSphereには、vSphereクラウドプロバイダーとクラウドストレージプラグインをインストールすることで利用可能なOut-of-treeクラウドプロバイダーがあります。

In-treeのvSphereクラウドプロバイダーからOut-of-treeへの移行方法および移行後の既存VMの管理については、このページを参照してください。