Azure Service Fabric は、スケーラブルで信頼性に優れたマイクロサービスとコンテナーのデプロイと管理を行うための分散システム プラットフォームです。
既存のアプリケーションを Service Fabric クラスター上の Windows コンテナー内で実行する場合は、アプリケーションに変更を加える必要はありません。 このクイックスタートでは、あらかじめ用意されている Docker コンテナー イメージを Service Fabric アプリケーションにデプロイする方法を紹介します。 最後まで読み進めていけば、Windows Server Core 2016 Server と IIS コンテナーを稼働状態にすることができます。 このクイックスタートでは、Windows コンテナーのデプロイについて説明します。 Linux コンテナーをデプロイするには、こちらのクイックスタートを確認してください。
特定のバージョンの Windows Server で構築されたコンテナーは、異なるバージョンの Windows Server を実行しているホスト上では動作しない可能性があります。 たとえば、Windows Server バージョン 1709 を使用して構築されたコンテナーは、Windows Server 2016 を実行しているホスト上では動作しません。 詳細については、Windows Server コンテナーの OS とホスト OS の互換性に関するページを参照してください。
Service Fabric ランタイム バージョン 6.1 以降では、コンテナーごとに複数の OS イメージを指定し、それぞれに展開する必要がある OS のビルド バージョンでタグ付けすることができます。 これにより、異なるバージョンの Windows OS を実行しているホスト全体でアプリを実行できるようになります。 詳細については、「OS ビルド固有のコンテナー イメージを指定する」を参照してください。
Microsoft は、異なるバージョンの Windows Server 上に構築された IIS のバージョンごとに異なるイメージを公開しています。 Service Fabric で、アプリを展開するクラスター ノード上で実行されている Windows Server のバージョンと互換性のあるコンテナーが展開されるようにするには、ApplicationManifest.xml ファイルに以下の行を追加します。 Windows Server 2016 のビルド バージョンは 14393 であり、Windows Server バージョン 1709 のビルド バージョンは 16299 です。
#Provide the subscription Id$subscriptionId = 'yourSubscriptionId'# Certificate variables.$certpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force$certfolder="c:\mycertificates\"# Variables for VM admin.$adminuser="vmadmin"$adminpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force# Variables for common values$clusterloc="SouthCentralUS"$clustername = "mysfcluster"$groupname="mysfclustergroup"$vmsku = "Standard_D2_v2"$vaultname = "mykeyvault"$subname="$clustername.$clusterloc.cloudapp.azure.com"# Set the number of cluster nodes. Possible values: 1, 3-99$clustersize=5# Set the context to the subscription Id where the cluster will be createdSelect-AzSubscription -SubscriptionId$subscriptionId# Create the Service Fabric cluster.New-AzServiceFabricCluster -Name$clustername -ResourceGroupName$groupname -Location$clusterloc `
-ClusterSize $clustersize -VmUserName$adminuser -VmPassword$adminpwd -CertificateSubjectName$subname `
-CertificatePassword $certpwd -CertificateOutputFolder$certfolder `
-OS WindowsServer2016DatacenterwithContainers -VmSku$vmsku -KeyVaultName$vaultname