Service Fabric 管理対象クラスター ノード タイプでの仮想マシン スケール セット拡張機能のサポート

Service Fabric 管理対象クラスター内の各ノード タイプは、仮想マシン スケール セットによって提供されます。 これにより、Service Fabric 管理対象クラスター ノード タイプに仮想マシン スケール セット拡張機能を追加できます。 拡張機能は、Azure VM でのデプロイ後の構成と自動化を提供する小さなアプリケーションです。 Azure プラットフォームでは、VM の構成、監視、セキュリティ、およびユーティリティのアプリケーションを対象とする多くの拡張機能をホストします。 公開元は、アプリケーションを取得し、それを拡張機能にまとめて、インストールを簡略化します。 ユーザーは必須パラメーターを指定するだけで済みます。

仮想マシン スケール セット拡張機能の追加

Add-AzServiceFabricManagedNodeTypeVMExtension PowerShell コマンドを使用して、仮想マシン スケール セット拡張機能を Service Fabric 管理対象クラスター ノード タイプに追加できます。

または、Azure Resource Manager テンプレート内の Service Fabric 管理対象クラスター ノード タイプに仮想マシン スケール セット拡張機能を追加することもできます。次に例を示します。

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "[variables('sfApiVersion')]",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "location": "[resourceGroup().location]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
      {
        "name": "KvExtension",
        "properties": {
          "publisher": "Microsoft.Azure.KeyVault",
          "type": "KeyVaultForWindows",
          "typeHandlerVersion": "3.0",
          "autoUpgradeMinorVersion": true,
          "settings": {
            "secretsManagementSettings": {
              "observedCertificates": [
                ...
              ]
            }
          }
        }
      }
    ]
  }
}

Service Fabric 管理対象クラスター ノード タイプの構成の詳細については、管理対象クラスター ノードタイプに関する記事を参照してください。

Service Fabric ランタイムの前にプロビジョニングする方法

Service Fabric ランタイムを開始する前に拡張機能をプロビジョニングするには、必要に応じて、拡張機能ごとに拡張機能プロパティの setupOrder パラメーターを値 BeforeSFRuntime で使用することができます。 これにより、ノード上でランタイムとアプリケーションの実行を開始する前に、環境と依存関係を設定できます。 詳しくは、以下の例を参照してください。

Note

BeforeSFRuntime でマークされた拡張機能が失敗した場合、Service Fabric ランタイムが起動できなくなることに注意してください。 その結果、そのノードは Service Fabric から見るとダウン状態になります。 そのため、これらの拡張機能を正しい構成で維持し、発生する可能性のある問題に迅速に対処することで、クラスター内のノードの正常性を確保することが不可欠です。

必要条件

Service Fabric API バージョン 2023-09-01-preview 以降を使用します。

ARM テンプレートの例:

{
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "apiVersion": "2023-09-01-preview",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "properties": {
    "isPrimary": true,
    ...
    "vmExtensions": [
        {
            "name": "KvExtension",
            "properties": {
                "setupOrder": [
                    "BeforeSFRuntime"
                ],
                "provisionAfterExtensions" [ "GenevaMonitoringExtension" ],
                "publisher": "Microsoft.Azure.KeyVault",
                "type": "KeyVaultForWindows",
                "typeHandlerVersion": "3.0",
                "autoUpgradeMinorVersion": true,
                "settings": {
                "secretsManagementSettings": {
                  "observedCertificates": [
                    ...
                  ]
                }
              }
            }
        },
        {
          "name": "GenevaMonitoringExtension",
          "properties": {
              "setupOrder": [
                    "BeforeSFRuntime"
                ],
              "autoUpgradeMinorVersion": true,
              "enableAutomaticUpgrade": true,
              "publisher": "Microsoft.Azure.Geneva",
              "type": "GenevaMonitoring",
              "typeHandlerVersion": "2.40",
              "settings": {
                "configurations": [
                  {
                    "ServiceArguments": {
                      ...
                    },
                    "UserArguments": {
                      ...
                    }
                  }
                ]
              }
          }
      }
    ]
  }
}

Note

AzureDiskEncryption (ADE) 拡張機能の特別な処理: ADE は Service Fabric ランタイムの前に実行する必要があります。再イメージ化操作後にディスクが確実に暗号化解除され、Service Fabric ランタイムがそれを使って開始できるようにするためです。 この拡張機能は、明示的に BeforeSFRuntime でマークされていなくても、ランタイムの前に実行されます。 ただし、ADE 拡張機能を使うよりも、ホストでの暗号化を有効にすることをお勧めします。 詳しい手順については、「ホストでの暗号化を有効にする」を参照してください。

次のステップ

Service Fabric マネージド クラスターについて詳しくは、以下の記事をご覧ください。