すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:storage-operatorを使用したストレージコンポーネントのデプロイと更新

最終更新日:Oct 23, 2024

ストレージ・オペレータ・コンポーネントは、ストレージ・コンポーネントのライフサイクルを管理するために使用される。 storage-operatorコンポーネントのConfigMapを変更して、ストレージコンポーネントをデプロイおよび更新できます。 これにより、コンテナの開発とメンテナンスの複雑さが軽減されます。 このトピックでは、Container Service for Kubernetes (ACK) クラスターにストレージコンポーネントを設定し、ストレージオペレーターをデプロイする方法について説明します。

概要

storage-operatorは展開として実行され、イメージから継承された既定の構成とConfigMapによって提供されるカスタム構成に基づいてストレージコンポーネントを展開および更新します。

説明

ストレージ・オペレータ・コンポーネントは、ACKクラスタでのみ使用できます。

  • デフォルト設定: storage-operatorは、ストレージコンポーネントのデフォルト設定を提供します。 デフォルトの設定は、storage-operatorのバージョンによって異なります。

  • カスタム設定: ConfigMapsを使用して、バージョン情報やコンポーネントをインストールするかどうかなど、ストレージコンポーネントのカスタム設定を定義できます。

storage-operatorは、カスタム構成を使用することが好ましい。 デフォルト設定は、カスタム設定が指定されていない場合にのみ使用されます。

Storage-Operator

説明
  • storage-operatorの各イメージには、デフォルトの構成ファイルが含まれます。

  • storage-operatorがDeploymentとして実行される場合、Deploymentは、Deploymentにマウントされ、ストレージコンポーネントの構成を含むConfigMapから構成を読み取ります。

  • storage-operatorは、デフォルト設定とカスタム設定を組み合わせて、ストレージコンポーネントをデプロイおよび更新するかどうかを決定します。

ステップ1: コンポーネントの設定

方法1: イメージによって提供されるデフォルト設定を使用する

ACKは、storage-snapshot-manager、storage-analyzer、storage-auto-expander、storage-monitorのストレージコンポーネントをサポートしています。

storage-operatorは、ストレージコンポーネントのデフォルト設定を提供します。 デフォルトの設定は、storage-operatorのバージョンによって異なります。 この例では、v1.18.8.0が使用されます。

{
  "storage-snapshot-manager": {
    "install":  "true",
    "imageTag": "v1.18.8.0-81508da-aliyun",
    "imageRep": "acs/storage-snapshot-manager",
    "template": "/acs/templates/storage-snapshot-manager/install.yaml"
  },
  "storage-analzyer": {
    "install":  "false",
    "imageTag": "v1.18.8.0-06c5560-aliyun",
    "imageRep": "acs/storage-analyzer",
    "template": "/acs/templates/storage-analyzer/install.yaml"
  },
  "storage-auto-expander": {
    "install":  "false",
    "imageTag": "v1.18.8.0-4852fd4-aliyun",
    "imageRep": "acs/storage-auto-expander",
    "crdTmpl":  "/acs/templates/storage-auto-expander/crd.yaml",
    "template": "/acs/templates/storage-auto-expander/install.yaml"
  },
  "storage-monitor": {
    "install":  "true",
    "imageTag": "v1.18.8.0-c4744b6-aliyun",
    "imageRep": "acs/storage-monitor",
    "template": "/acs/templates/storage-monitor/install.yaml",
    "svcTmpl":  "/acs/templates/storage-monitor/service.yaml"
  }
}

次の表に、デフォルト設定のパラメーターを示します。

パラメーター

説明

インストール

コンポーネントをデプロイするかどうかを指定します。 デフォルト値: false

imageTag

コンポーネントがデプロイされている場合のデフォルトのイメージバージョン。

imageRep

コンポーネントがデプロイされている場合のデフォルトのイメージ名。

crdTmpl

デプロイするカスタムリソース定義 (CRD) のテンプレートパス。 このパラメーターが空の場合、CRDはデプロイされません。

svcTmpl

デプロイするサービスのテンプレートパス。

テンプレート

デプロイするコンポーネントのテンプレートパス。

説明

ConfigMapを使用してパラメーターを変更できます。

方法2: ConfigMapを使用して設定をカスタマイズする

この例では、次のConfigMapテンプレートが提供されています。

kind: ConfigMap
apiVersion: v1
metadata:
  name: storage-operator
  namespace: kube-system
data:
  storage-snapshot-manager: |
    {
      "install": "true",
      "imageTag": "v1.16.aaaa",
      "imageRep": "acs/storage-snapshot-manager",
      "template": "/acs/templates/storage-snapshot-manager/install.yaml",
      "SNAPSHOT_INTERVAL": "30"
    }
  storage-analyzer: '{"install": "false"}'

カスタム設定を使用する場合は、次の項目に注意してください。

  • カスタム設定で指定されたパラメーター値は、デフォルト設定のパラメーター値を上書きします。

  • 各コンポーネントの構成は、2つの部分で構成されます。

    • 前の手順でパラメーター説明テーブルで定義されている配置構成。 パラメーターは、コンポーネントをインストールするかどうか、およびデプロイされるコンポーネントのバージョンを指定します。 storage-operatorは、これらの設定に基づいてコンポーネントをデプロイおよび更新します。

    • その他の設定は環境変数によって設定されます。 上記の例では、SNAPSHOT_INTERVALがstorage-snapshot-managerコンポーネントの環境変数として設定されています。

  • デプロイ設定で使用されるパラメーターは予約済みパラメーターであり、環境変数として使用することはできません。

  • コンポーネントの機能に基づいて特定のパラメータをカスタマイズできます。

ステップ2: storage-operatorコンポーネントのデプロイ

  1. Add-onsページからストレージをインストールする-operator: 詳細については、「システムコンポーネントのアップグレード」をご参照ください。

  2. 次のコマンドを実行して、storage-operatorが実行中かどうかを確認します。

    kubectl get pods -n kube-system -lapp=storage-operator

    期待される出力:

    NAME                                READY   STATUS    RESTARTS   AGE
    storage-operator-57bdfd7f56-kl86k   1/1     Running   0          12m