機械翻訳について

6 ストレージ

コンピューティング業界で意味のあるワークロードごとに、ある種類のデータ・ストレージが必要です。 永続ストレージは、データベースなどのステートフル・アプリケーションを操作する際に不可欠です。コンテナのライフサイクルを超えてデータを保持することも、ポッド自体を保持することも重要であるためです。

Kubernetesの永続ストレージは、PersistentVolumeオブジェクトの形式で処理され、PersistentVolumeClaimを使用してポッドにバインドされます。 PersistentVolumeは、ローカルまたはネットワーク・ストレージ・デバイスまたはサービス上でホストできます。

一般的なKubernetes環境には、多数のホストが含まれ、ある種のネットワーク・ストレージが含まれています。 ネットワーク・ストレージを使用すると、レジリエンスの保証に役立ち、クラスタ環境を最大限に活用できます。 ポッドを実行中のノードが失敗した場合は、別のノードで新しいポッドを開始でき、ストレージ・アクセスを再開できます。 このことは、レプリカ設定が構成されているデータベース環境にとって重要です。

永続ストレージ

永続ストレージは、PersistentVolumeサブシステムを使用してKubernetesで提供されます。 永続ストレージを構成するには、次の用語を理解しておく必要があります:

  • PersistentVolume

    PersistentVolumeは、使用されているストレージのタイプと、そのストレージへの接続に使用されるメソッドを定義します。 これは、データの格納に使用される実際のディスクまたはネットワーク・ストレージ・サービスです。

  • PersistentVolumeClaim

    PersistentVolumeClaimは、ポッドなどのコンシューマがPersistentVolumeをバインドするために使用するパラメータを定義します。 要求では、コンシューマのリソースに適用する割当ておよびアクセス・モードを指定できます。 ポッドは、PersistentVolumeClaimを使用してボリュームにアクセスし、マウントできます。

  • StorageClass

    StorageClassは、ユーザーがPersistentVolumeのストレージを事前構成しなくてもPersistentVolumeClaimsを定義できるようにする、プロビジョニング機能と呼ばれるボリューム・プラグインを指定するオブジェクトです。 これを使用すると、PersistentVolumeClaimのライフサイクルに対して動的にプロビジョニングできるプール済リソースとして、類似したボリューム・タイプへのアクセスを提供できます。

PersistentVolumesは、静的に、または動的にプロビジョニングできます。

静的PersistentVolumesは手動で作成され、実際のストレージへのアクセスに必要な詳細を含み、関連するPersistentVolumeClaimを持つ任意のポッドによって直接使用できます。

PersistentVolumeClaimが既存の静的PersistentVolumeと一致せず、リクエストで既存のStorageClassがリクエストされた場合は、動的PersistentVolumesを自動的に生成できます。 StorageClassは、動的にアクセス可能なストレージ・プールをホストするように定義できます。 StorageClassの作成はオプションのステップであり、動的プロビジョニングを使用する場合にのみ必要です。

永続ストレージをプロビジョニングするプロセスは次のとおりです:

  1. PersistentVolumeまたはStorageClassを作成します。

  2. PersistentVolumeClaimsを作成します。

  3. PersistentVolumeClaimを使用するようにポッドを構成します。

NFSおよびiSCSIボリュームを追加および構成するプロセスの詳細は、「アップストリームのドキュメント」を参照してください。

コンテナ・ストレージ・インタフェース・プラグイン

コンテナ・ストレージ・インタフェース(CSI)は、コンテナ・エンジンからストレージ・ワークロードを制御するためのOpen Container Initiative標準です。 Kubernetesは、このインタフェースを実装して、Kubernetesクラスタ内のストレージ・ワークロードに対して自動制御を提供します。 Kubernetesストレージ・プロビジョナのリストは、「アップストリームのドキュメント」を参照してください。

CSIプラグインは、Oracle Cloud Native EnvironmentのKubernetesクラスタにインストールできます。 CSIプラグインのインストールを簡単に実行できるように、Oracleには複数のストレージ関連モジュールが用意されています。

Oracle Cloud Native EnvironmentOracle Cloud Infrastructure Cloud Controller Managerモジュールを使用して、Oracle Cloud InfrastructureのCSIプラグインを設定できます。

Oracle Cloud Native EnvironmentのRookモジュールは、CephのCSIプラグインを設定するために使用できます。