次の方法で共有


Azure Container Storage でマルチゾーン ストレージ冗長性を有効にする

マルチゾーン Azure Kubernetes Service (AKS) クラスターで Azure Container Storage を使用する場合は、マルチゾーン ストレージ プールとゾーン冗長ストレージ (ZRS) ディスクを使用することで、ステートフル アプリケーションの可用性を向上させることができます。 可用性ゾーンを使用する AKS クラスターを作成するには、「Azure Kubernetes Service で可用性ゾーンを使用する」を参照してください。

前提条件

  • この記事では、最新バージョン (2.35.0 以降) の Azure CLI が必要です。 「Azure CLI のインストール方法」を参照してください。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。 Azure Cloud Shell ではなくローカルでコマンドを実行する場合は、必ず管理特権で実行してください。
  • クラスター ノード用の少なくとも 3 つの仮想マシン (VM) (それぞれが少なくとも 4 つの仮想 CPU (vCPU) を持つ) のノード プールを持つ AKS クラスターが必要になります。
  • この記事では、AKS クラスターに Azure Container Storage が既にインストールされていることを前提としています。
  • Kubernetes コマンド ライン クライアント kubectl が必要です。 Azure Cloud Shell を使用している場合は既にインストールされています。または、az aks install-cli コマンドを実行してローカルにインストールできます。

マルチゾーン ストレージ プールを作成する

ストレージ プール定義では、ストレージの容量を分散するゾーンを指定できます。 ストレージ プールの合計容量は、指定されたゾーンの数に均等に分散されます。 たとえば、2 つのゾーンが指定されている場合、各ゾーンはストレージ プールの容量の半分を取得します。3 つのゾーンが指定されている場合、各ゾーンは合計容量の 3 分の 1 を取得します。 対応するストレージは、各ゾーンにプロビジョニングされます。 これは、Cassandra などのアプリケーション レベルのレプリケーションを提供するワークロードを実行する場合に便利です。

指定したゾーンに使用可能なノードがない場合、そのゾーンでノードが使用可能になると、容量がプロビジョニングされます。 永続ボリューム (PV) は、1 つのゾーンのストレージ プールの容量からのみ作成できます。

zones の有効な値は、以下のとおりです。

  • [""]
  • ["1"]
  • ["2"]
  • ["3"]
  • ["1", "2"]
  • ["1", "3"]
  • ["2", "3"]
  • ["1", "2", "3"]

Azure ディスクを使用するマルチゾーン ストレージ プールを作成するには、次の手順に従います。 zones には、有効な値を選択します。

  1. 任意のテキスト エディターを使用して、code acstor-multizone-storagepool.yaml などの YAML マニフェスト ファイルを作成します。

  2. 次のコードを貼り付けて、ファイルを保存します。 ストレージ プールの name の値は何でもかまいません。 記憶域には、プールの記憶域容量を Gi または Ti で指定します。

    apiVersion: containerstorage.azure.com/v1
    kind: StoragePool
    metadata:
      name: azuredisk
      namespace: acstor
    spec:
      zones: ["1", "2", "3"]
      poolType:
        azureDisk: {}
      resources:
        requests:
          storage: 1Ti
    
  3. YAML マニフェスト ファイルを適用してマルチゾーンのストレージ プールを作成します。

    kubectl apply -f acstor-multizone-storagepool.yaml 
    

ゾーン冗長ストレージ (ZRS) ディスクを使用する

ワークロードでストレージの冗長性が必要な場合は、ゾーン冗長ストレージを使用するディスクを利用できます。このディスクは、プライマリ リージョンの 3 つの Azure 可用性ゾーンにデータを同期的にコピーします。

次の例のように、ディスク skuName を、ストレージ プール定義で StandardSSD_ZRS または Premium_ZRS として指定できます。

apiVersion: containerstorage.azure.com/v1
kind: StoragePool
metadata:
  name: azuredisk
  namespace: acstor
spec:
  poolType:
    azureDisk:
      skuName: Premium_ZRS
  resources:
    requests:
      storage: 1Ti

関連項目