次の方法で共有


Windows 開発用マシンで WSL2 を介して Linux Service Fabric クラスターをセットアップする

このドキュメントでは、Windows 開発用マシン上で WSL2 を介してローカル Linux Service Fabric クラスターをセットアップする方法について説明します。 ローカル Linux クラスターを設定すると、Linux クラスターを対象としているが、Windows マシンで開発されたアプリケーションをすばやくテストするときに便利です。

前提条件

Linux ベースの Service Fabric クラスターは直接 Windows で動作しませんが、クロスプラットフォームでのプロトタイプ作成を可能にするために、Windows 用の WSL2 (Windows Subsystem for Linux) を介して Linux ディストリビューション内に Service Fabric クラスターをデプロイする方法を用意しました。

作業を開始する前に、以下を行う必要があります。

  • WSL2 を Windows でセットアップし、WSL 2 を既定のバージョンにする
  • Microsoft Store から Ubuntu 18.04 Linux ディストリビューションをセットアップしながら WSL2 をセットアップする

ヒント

ご利用の Windows コンピューターに WSL2 をインストールには、WSL2 のドキュメントの手順に従ってください。 インストール後、Ubuntu-18.04 がインストールされていることを確認し、それを既定のディストリビューションにすれば、起動するはずです。

Linux ディストリビューション内に Service Fabric SDK をセットアップする

Service Fabric セットアップを WSL2 Linux ディストリビューションで、標準の Linux OS で行うようには行えません。 理由は PID1 としての systemd が VM 内で動作していないためで、SF SDK が正常に動作するための前提条件が PID1 としての systemd であるからです。 systemd を PID1 として有効にするには、systemd-genie を回避策として使用します。 systemd-genie に関する詳細が systemd genie セットアップにあります。スクリプトのインストールと手動のインストール手順で systemd-genie と Service Fabric sdk 両方のインストールがカバーされています。

インストール スクリプト

sfctl CLI と併せて Service Fabric 共通 SDK をインストールする場合に便利であるように、スクリプトが用意されています。 スクリプトの実行では、インストールされているすべてのソフトウェアのライセンスに同意することを前提としています。 または、次のセクションで手動インストール手順を行うこともできます。ここでは、関連付けられたライセンスと、インストールされているコンポーネントが示されます。

スクリプトが正常に実行されたら、ローカル クラスターのセットアップに進みます。

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

手動のインストール

Service Fabric ランタイムと共通 SDK の手動インストールの場合、このガイドの残りの説明に従います。

  1. ターミナルを開きます。

  2. WSL2 Linux ディストリビューションにログインする

  3. systemd-genie を systemd-genie セットアップで説明されているようにセットアップする (systemd-genie が既にセットアップされている場合は、次の手順に進むことができます)。

  4. genie 名前空間に genie -s を使用して入力する

  5. genie 名前空間内では、「Linux ローカル クラスターのセットアップ」のスクリプト インストールまたは手動インストール手順で説明されているように SF SDK をインストールすることもできます。

  6. /etc/sudoers にエントリ <USERNAME\> ALL = (ALL) NOPASSWD:ALL を作成し、現在のユーザーに sudo 特権を与える

ローカル クラスターをセットアップする

WSL2 VM 内の Service Fabric をホスト ウィンドウから管理することを推奨

  1. Service Fabric SDK (バージョン 6.0 以降) を Windows ホストにインストールする

  2. Windows では、SF SDK の一部として提供される ServiceFabricLocalClusterManager ツールを使用してクラスターを管理できます

  3. Linux ローカル クラスターを管理するオプションが有効になのは、a. WSL2 VM が実行されているとき、b. Systemd-genie、servicefabricruntime、および servicefabricsdkcommon パッケージが VM 内に正しくインストールされているとき、そして c. Systemd-genie が実行中状態のときだけです。 Linux ローカル クラスターのセットアップや Linux ローカル クラスターへの切り替えがこのツールからできます。

  4. Linux クラスターをセットアップするもう 1 つの方法は、SF SDK の一部として提供されるクラスター セットアップ スクリプトを使用してデプロイすることです。

  5. Web ブラウザーを開いて、Service Fabric Explorer http://localhost:19080 に移動します。 クラスターが起動すると、Service Fabric Explorer ダッシュボードが表示されます。 クラスターがセットアップされるまでに数分かかる場合があります。 ブラウザーで URL を開けない場合や Service Fabric Explorer にクラスターが表示されない場合は、数分待ってからもう一度実行してください。 SF SDK で提供されている ServiceFabricExplorer でクラスターを確認することもできます。

  6. クラスターが稼働したら、PowerShell や Visual Studio でローカル クラスターに接続できます。

カスタム ServiceFabric と ServieFabricSdkCommon Debian パッケージを使用した手動インストール

カスタムまたはダウンロードした debian パッケージから Service Fabric を手動でインストールする場合は、このガイドの後半の説明に従ってください。

  1. ターミナルを開きます。

  2. WSL2 Linux ディストリビューションにログインする

  3. セットアップ ファイルを複製する

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh > SetupServiceFabric.sh
  1. ファイルを実行可能ファイルにします。
sudo chmod +x SetupServiceFabric.sh
  1. ローカル debian パッケージのパスを指定してセットアップ スクリプトを実行します。 指定されたパスが有効であることを確認します。 次に例を示します。
sudo ./SetupServiceFabric.sh --servicefabricruntime=/mnt/c/Users/testuser/Downloads/servicefabric.deb --servicefabricsdk=/mnt/c/Users/testuser/Downloads/servicefabric_sdkcommon.deb

既知の制限事項

Linux ディストリビューション内で動作しているローカル クラスターの既知の制限を以下に示します。

  • 現在は Ubuntu-18.04 ディストリビューションのみがサポートされています。
  • ローカル クラスター マネージャーと Visual Studio でシームレスなエクスペリエンスを得るために、PowerShell スクリプトまたは Windows ホストの LocalClusterManager からクラスターを管理することをお勧めします。

よく寄せられる質問

  1. SF ローカル クラスターのセットアップでサポートされている Linux ディストリビューションは何ですか?
    現在、Linux ローカル クラスターでは Ubuntu-18.04 のみがサポートされています。

  2. Windows と Linux SF クラスターを WSL2 セットアップと並行して実行できますか?
    いいえ。一度に 1 つのローカル クラスターだけをホストまたはゲスト VM で実行できます。

  3. 1 つのノード Linux ローカル クラスターをデプロイするにはどうすればよいですか?
    1 ノードまたは 5 ノードの Linux ローカル クラスターを、メニュー オプションのローカル クラスター マネージャーから デプロイできます。 セットアップ スクリプトからデプロイしているとき、5 ノード クラスターが既定でデプロイされ、1 ノード クラスターの場合は CreateOneNodeCluster を渡す必要があります。

  4. Linux ローカル クラスターに PowerShell と Visual Studio でどのように接続するのですか?
    Linux ローカル クラスターが稼働している場合、connect-servicefabriccluster コマンドレットで自動的にこのクラスターに接続されるはずです。 同様の Visual Studio が自動的にこのローカル クラスターを検出します。 このクラスターは、PowerShell または Visual Studio でクラスター エンドポイントを指定して接続することもできます。

  5. Linux ローカル クラスターの場合、SF クラスター データはどこにありますか?
    Ubuntu-18.04 ディストリビューションを使用している場合、SF データが Windows ホストの wsl$\Ubuntu-18.04\home\sfuser\sfdevcluster に置かれます。

次のステップ