この記事では、Azure Container Storage 拡張機能をインストールする手順について説明します。
Azure IoT Operations の依存関係をインストールする
まず、次のコマンドを実行して、Azure IoT Operations の依存関係をインストールします。
az k8s-extension create --cluster-name "${YOUR-CLUSTER-NAME}" --name "${NAME}-certmgr" --resource-group "${YOUR-RESOURCE-GROUP}" --cluster-type connectedClusters --extension-type microsoft.iotoperations.platform --scope cluster --release-namespace cert-manager
Azure Arc 対応 Azure コンテナー ストレージ拡張機能をインストールする
次のコマンドを使用して、Azure Container Storage 拡張機能をインストールします。
az k8s-extension create --resource-group "${YOUR-RESOURCE-GROUP}" --cluster-name "${YOUR-CLUSTER-NAME}" --cluster-type connectedClusters --name azure-arc-containerstorage --extension-type microsoft.arc.containerstorage
メモ
既定では、--release-namespace
パラメーターは azure-arc-containerstorage
に設定されます。 この設定をオーバーライドする場合は、次のコマンドに --release-namespace
フラグを追加して、詳細を設定します。 インストール時に設定された値は、インストールの有効期間を通じて保持されます (手動および自動アップグレードを含む)。
重要
OneLake を使う場合は、--name
コマンドの az k8s-extension create
変数に一意の拡張機能名を使う必要があります。
構成演算子
構成 CRD
Azure Container Storage 拡張機能では、Kubernetes のカスタム リソース定義 (CRD) を使用してストレージ サービスを構成します。 この CRD を Kubernetes クラスターに発行する前に、Azure Container Storage 拡張機能は休止状態であり、最小限のリソースを使用します。 構成オプションを使って CRD を適用すると、サービスを提供するために、適切なストレージ クラス、CSI ドライバー、サービス POD がデプロイされます。 これにより、ニーズに合わせて Azure Container Storage をカスタマイズでき、Arc Kubernetes 拡張機能を再インストールせずに再構成できます。 ここには一般的な構成が含まれていますが、この CRD には、異なるストレージ機能を持つ Kubernetes クラスターの非標準構成を構成する機能が用意されています。
Ubuntu または Edge Essentials を使用する単一ノードまたは 2 ノード クラスター
Ubuntu または Edge Essentials を使用して単一ノードまたは 2 ノードクラスターを実行する場合は、次の手順に従います。
次のような内容で edgeConfig.yaml という名前のファイルを作成します。
apiVersion: arccontainerstorage.azure.net/v1
kind: EdgeStorageConfiguration
metadata:
name: edge-storage-configuration
spec:
defaultDiskStorageClasses:
- "default"
- "local-path"
この .yaml ファイルを適用するには、次を実行します。
kubectl apply -f "edgeConfig.yaml"
Ubuntu または Edge Essentials を使用するマルチノード クラスター
Azure Container Storage には、回復性に優れた読み取りWrite-Once インターフェイスを提供する コンポーネント ACStor が含まれています。 3 つ以上のノードを持つクラスターでは、このコンポーネントはノード間のデータ レプリケーションを提供します。 この機能を利用するには、ACStor が使用できるように、1 つ以上のスペア ディスクを別のマウント ポイントに構成する必要があります。 Ubuntu または Edge Essentials を使用して 3 つ以上のノード Kubernetes クラスターを実行する場合は、次の手順に従います。
Azure Container Storage はディスクを直接使用するように設定されているのではなく、マウント ポイントとして構成する必要があります。 未加工ディスクをマウント ポイントとして設定するには、次のようにディスクを構成します。
fdisk /dev/sd3
mkfs.ext4 /dev/sd3a
mkdir /acsa
mount /dev/sd3a /acsa
これにより、構成済みのディスク パーティションsd3
を使用する予備のシステム ディスク sd3a
が、ACStor で使用できる/acsa
に設定されます。
次のような内容で edgeConfig.yaml という名前のファイルを作成します。
メモ
ストレージをディスク上の別の場所に再配置するには、目的のパスで diskMountPoint
を更新します。 DNds VM にデプロイする場合を除き、目的のパスとして /mnt を使用しないでください。
apiVersion: arccontainerstorage.azure.net/v1
kind: EdgeStorageConfiguration
metadata:
name: edge-storage-configuration
spec:
defaultDiskStorageClasses:
- acstor-arccontainerstorage-storage-pool
---
apiVersion: arccontainerstorage.azure.net/v1
kind: ACStorConfiguration
metadata:
name: acstor-configuration
spec:
diskMountPoint: /acsa
diskCapacity: 10Gi
createStoragePool:
enabled: true
replicas: 3
spec.diskCapacity
パラメーターは、Azure Container Storage で使用するために割り当てられるディスク領域の量を決定します。 この例では 10 GB ですが、ニーズに合わせて変更できます。 この例では、10 GB に設定すると、レプリケートされた各ディスク ( spec.createStoragePool.replicas
パラメーターによって制御されます) で最大 10 GB(この場合 は 3 GB、合計 30 GB) を使用します。 これはローカル共有ボリュームとクラウド取り込みボリュームが動作するプールであるため、このプールは現時点では拡大できないため、適切なサイズに設定することが重要です。
この .yaml ファイルを適用するには、次を実行します。
kubectl apply -f "edgeConfig.yaml"
Arc 対応 AKS または AKS Arc
Arc 対応 AKS または AKS が Arc によって有効になっている単一ノードまたはマルチノード クラスターを実行する場合は、次の手順に従います。
次のような内容で edgeConfig.yaml という名前のファイルを作成します。
apiVersion: arccontainerstorage.azure.net/v1
kind: EdgeStorageConfiguration
metadata:
name: edge-storage-configuration
spec:
defaultDiskStorageClasses:
- "default"
- "local-path"
この .yaml ファイルを適用するには、次を実行します。
kubectl apply -f "edgeConfig.yaml"
次のステップ