Linux で開発環境を準備する
Linux の開発コンピューターに Azure Service Fabric アプリケーション をデプロイして実行するには、ランタイムと共通 SDK をインストールする必要があります。 また、必要に応じて Java および .NET Core デプロイ用 SDK をインストールすることもできます。
この記事の手順では、Linux にネイティブにインストールするか、Service Fabric OneBox コンテナー イメージ (つまり、mcr.microsoft.com/service-fabric/onebox:u18
) を使用することを想定しています。
Azure Service Fabric コマンド ライン インターフェイス (CLI) を使用して、クラウドやオンプレミスでホストされている Service Fabric のエンティティを管理することができます。 CLI をインストールする方法については、Service Fabric CLI のセットアップに関するページを参照してください。
前提条件
サポートされている Linux バージョンを使用していることを確認します。
apt-transport-https
パッケージのインストール:sudo apt-get install apt-transport-https
インストール方法
APT ソースを更新する
コマンド ライン ツール apt-get を実行して SDK および関連付けられたランタイム パッケージをインストールするために、まず APT (Advanced Packaging Tool) ソースを更新する必要があります。
インストール スクリプト
sfctl CLI と併せて Service Fabric ランタイムと 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 の手動インストールの場合、このガイドの残りの説明に従います。
ターミナルを開きます。
配布に対応するソース リストに
dotnet
リポジトリを追加します。wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb
新しい MS Open Tech Gnu Privacy Guard (GnuPG または GPG) キーを APT キーリングに追加します。
sudo curl -fsSL https://packages.microsoft.com/keys/msopentech.asc | sudo apt-key add -
公式の Docker GPG キーを APT キーリングに追加します。
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Docker レポジトリを設定します。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Azul JDK キーを APT キーリングに追加し、そのリポジトリを設定します。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
新しく追加されたリポジトリに基づいてパッケージ リストを更新します。
sudo apt-get update
ローカル クラスター用の Service Fabric SDK をインストールしてセットアップする
ソースを更新したら、SDK をインストールできます。 Service Fabric SDK パッケージをインストールし、インストールを確認して、ライセンス契約に同意します。
Ubuntu
sudo apt-get install servicefabricsdkcommon
ヒント
Service Fabric パッケージのライセンス受け取りを自動化するコマンドを以下に示します。
echo "servicefabric servicefabric/accepted-eula-ga select true" | sudo debconf-set-selections
echo "servicefabricsdkcommon servicefabricsdkcommon/accepted-eula-ga select true" | sudo debconf-set-selections
ローカル クラスターをセットアップする
- ローカルの開発用 Service Fabric クラスターを起動します。
コンテナーベースの Onebox Service Fabric クラスターを起動します。
Moby をインストールして、Docker コンテナーをデプロイできるようにします。
sudo apt-get install moby-engine moby-cli -y
次の設定を使用してホスト上の Docker デーモン構成を更新し、Docker デーモンを再起動します。 詳細:「Enable IPv6 support」 (IPv6 サポートを有効にする)
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
クラスターを起動します。
Ubuntu 20.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
Ubuntu 18.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
ヒント
既定では、最新バージョンの Service Fabric を含んだイメージがプルされます。 特定のリビジョンについては、Docker Hub のページをご覧ください。
Web ブラウザーを開いて、Service Fabric Explorer (
http://localhost:19080/Explorer
) に移動します。 クラスターが起動すると、Service Fabric Explorer ダッシュボードが表示されます。 クラスターが完全にセットアップされるまでに数分かかる場合があります。 ブラウザーで URL を開けない場合、またはシステムの準備が完了していることを Service Fabric Explorer で確認できない場合は、数分待ってからもう一度実行してください。これで、構築済みの Service Fabric アプリケーション パッケージか、またはゲスト コンテナーやゲスト実行可能ファイルをベースに新規作成したパッケージをデプロイできるようになりました。 Java 用 SDK または .NET Core 用 SDK を使用して新しいサービスを構築するには、次のセクションに示すセットアップ手順を実行します。
Note
スタンドアロン クラスターは Linux ではサポートされません。
ヒント
SSD ディスクが利用できる場合、優れたパフォーマンスを得るために、devclustersetup.sh で --clusterdataroot
を使用して SSD フォルダー パスを渡すことをお勧めします。
Service Fabric CLI のセットアップ
Service Fabric CLI には、クラスターやアプリケーションなどの Service Fabric エンティティを操作するコマンドが含まれています。 CLI をインストールするには、Service Fabric CLI に関するページの手順に従ってください。
コンテナーとゲスト実行可能ファイルを作成するための Yeoman ジェネレーターをセットアップする
Service Fabric には、ターミナルから Yeoman テンプレート ジェネレーターを使って Service Fabric アプリケーションを作成できるスキャフォールディング ツールが用意されています。 次の手順に従って、Service Fabric Yeoman テンプレート ジェネレーターを設定します。
マシンに Node.js と npm をインストールします。
sudo add-apt-repository "deb https://deb.nodesource.com/node_8.x $(lsb_release -s -c) main" sudo apt-get update sudo apt-get install nodejs
npm からマシンに Yeoman テンプレート ジェネレーターをインストールします。
sudo npm install -g yo
npm から Service Fabric Yeo のコンテナー ジェネレーターとゲスト実行可能ジェネレーターをインストールします。
sudo npm install -g generator-azuresfcontainer # for Service Fabric container application sudo npm install -g generator-azuresfguest # for Service Fabric guest executable application
ジェネレーターのインストール後、yo azuresfguest
または yo azuresfcontainer
を実行して、ゲスト実行可能ファイルまたはコンテナー サービスを作成します。
.NET Core 3.1 開発環境を設定する
.NET Core 3.1 SDK for Ubuntu をインストールして、C# Service Fabric アプリケーションの作成を開始します。 .NET Core Service Fabric アプリケーション用のパッケージは、NuGet.org でホストされています。
Java 開発をセットアップする
Java を使用して Service Fabric サービスをビルドするには、Gradle をインストールしてビルド タスクを実行します。 次のコマンドを実行して、Gradle をインストールします。 Service Fabric Java ライブラリが Maven から取り込まれます。
Ubuntu
curl -s https://get.sdkman.io | bash sdk install gradle 5.1
Red Hat Enterprise Linux 7.4 (Service Fabric プレビュー サポート)
sudo yum install java-1.8.0-openjdk-devel curl -s https://get.sdkman.io | bash sdk install gradle
さらに、Java 実行可能ファイル用の Service Fabric Yeo ジェネレーターをインストールする必要があります。 Yeoman がインストールされている ことを確認してから、次のコマンドを実行します。
npm install -g generator-azuresfjava
Eclipse プラグインをインストールする (省略可能)
Eclipse IDE for Java Developers または Eclipse IDE for Java EE Developers 内から Service Fabric 用 Eclipse プラグインをインストールできます。 Eclipse を使用すると、Service Fabric Java アプリケーションのほかに、Service Fabric ゲスト実行可能アプリケーションと Service Fabric コンテナー アプリケーションを作成できます。
重要
Service Fabric プラグインには、Eclipse Neon またはそれ以降のバージョンが必要です。 Eclipse のバージョンを確認する方法については、この注の後の手順を参照してください。 以前のバージョンの Eclipse がインストールされている場合は、より新しいバージョンを Eclipse サイトからダウンロードすることができます。 Eclipse の既存のインストールの上にインストールする (上書きする) ことはお勧めしません。 インストーラーを実行する前に削除するか、新しいバージョンを別のディレクトリにインストールします。
Ubuntu では、パッケージ インストーラー (apt
または apt-get
) を使用するのではなく、Eclipse サイトから直接インストールすることをお勧めします。 そうすることで、Eclipse の最新バージョンを確実に入手することができます。 Eclipse IDE for Java Developers または Eclipse IDE for Java EE Developers をインストールできます。
Eclipse で、Eclipse Neon 以降および Buildship バージョン 2.2.1 以降がインストールされていることを確認します。 [ヘルプ]>[Eclipse について]>[インストール詳細] の順に選択して、インストールされたコンポーネントのバージョンを確認します。 Buildship は、Eclipse Buildship:Gradle 用の Eclipse プラグインに関するページの手順に従って更新できます。
[Help](ヘルプ)>[Install New Software](新しいソフトウェアのインストール) の順に選択して、Service Fabric プラグインをインストールします。
[Work with](作業対象) ボックスに「 https://dl.microsoft.com/eclipse 」と入力します。
[追加] を選択します。
[ServiceFabric] プラグインを選択し、 [次へ] を選択します。
インストール手順を実行します。 次に、使用許諾契約に同意します。
Service Fabric Eclipse プラグインを既にインストールしてある場合は、最新バージョンを使用していることを確認してください。 確認するには、 [ヘルプ]>[Eclipse について]>[インストール詳細] の順に選択します。 次に、インストールされているプラグインの一覧で Service Fabric を探します。新しいバージョンが使用できる場合は [更新] を選択します。
詳細については、「Eclipse Java アプリケーション開発用の Service Fabric プラグイン」を参照してください。
SDK とランタイムを更新する
SDK とランタイムを最新バージョンに更新するには、次のコマンドを実行します。
sudo apt-get update
sudo apt-get install servicefabric servicefabricsdkcommon
Maven からの Java SDK バイナリを更新するには、build.gradle
ファイルで、最新バージョンが参照されるように、対応するバイナリのバージョン情報を更新する必要があります。 具体的なバージョンの更新箇所については、Service Fabric 入門用サンプルにある任意の build.gradle
ファイルを参照してください。
Note
上記のパッケージを更新すると、ローカルの開発クラスターが停止する可能性があります。 この記事の手順に従って、アップグレード後にローカル クラスターを再起動してください。
SDK を削除する
Service Fabric SDK を削除するには、次のコマンドを実行します。
Ubuntu
sudo apt-get remove servicefabric servicefabicsdkcommon npm uninstall -g generator-azuresfcontainer npm uninstall -g generator-azuresfguest sudo apt-get install -f
Red Hat Enterprise Linux 7.4 (Service Fabric プレビュー サポート)
sudo yum remove servicefabric servicefabicsdkcommon npm uninstall -g generator-azuresfcontainer npm uninstall -g generator-azuresfguest
次のステップ
- Yeoman を使用して Linux で最初の Service Fabric Java アプリケーションを作成してデプロイする
- Eclipse 用の Service Fabric プラグインを使用して Linux で最初の Service Fabric Java アプリケーションを作成してデプロイする
- Linux で最初の C# アプリケーションを作成する
- OSX で開発環境を準備する
- Windows で Linux 開発環境を準備する
- Service Fabric CLI を使用してアプリケーションを管理する
- Service Fabric における Windows と Linux の違い
- Service Fabric CLI の概要