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 の手動インストールの場合、このガイドの残りの説明に従います。

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

  2. 配布に対応するソース リストに dotnet リポジトリを追加します。

    wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    
  3. 新しい MS Open Tech Gnu Privacy Guard (GnuPG または GPG) キーを APT キーリングに追加します。

    sudo curl -fsSL https://packages.microsoft.com/keys/msopentech.asc | sudo apt-key add -
    
  4. 公式の Docker GPG キーを APT キーリングに追加します。

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  5. Docker レポジトリを設定します。

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  6. 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"
    
  7. 新しく追加されたリポジトリに基づいてパッケージ リストを更新します。

    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

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

  1. ローカルの開発用 Service Fabric クラスターを起動します。

コンテナーベースの Onebox Service Fabric クラスターを起動します。

  1. Moby をインストールして、Docker コンテナーをデプロイできるようにします。

    sudo apt-get install moby-engine moby-cli -y
    
  2. 次の設定を使用してホスト上の Docker デーモン構成を更新し、Docker デーモンを再起動します。 詳細:「Enable IPv6 support」 (IPv6 サポートを有効にする)

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    
  3. クラスターを起動します。
    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 のページをご覧ください。

  1. Web ブラウザーを開いて、Service Fabric Explorer (http://localhost:19080/Explorer) に移動します。 クラスターが起動すると、Service Fabric Explorer ダッシュボードが表示されます。 クラスターが完全にセットアップされるまでに数分かかる場合があります。 ブラウザーで URL を開けない場合、またはシステムの準備が完了していることを Service Fabric Explorer で確認できない場合は、数分待ってからもう一度実行してください。

    Service Fabric Explorer on Linux

    これで、構築済みの 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 テンプレート ジェネレーターを設定します。

  1. マシンに 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
    
  2. npm からマシンに Yeoman テンプレート ジェネレーターをインストールします。

    sudo npm install -g yo
    
  3. 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 をインストールできます。

  1. Eclipse で、Eclipse Neon 以降および Buildship バージョン 2.2.1 以降がインストールされていることを確認します。 [ヘルプ]>[Eclipse について]>[インストール詳細] の順に選択して、インストールされたコンポーネントのバージョンを確認します。 Buildship は、Eclipse Buildship:Gradle 用の Eclipse プラグインに関するページの手順に従って更新できます。

  2. [Help](ヘルプ)>[Install New Software](新しいソフトウェアのインストール) の順に選択して、Service Fabric プラグインをインストールします。

  3. [Work with](作業対象) ボックスに「 https://dl.microsoft.com/eclipse 」と入力します。

  4. [追加] を選択します。

    [利用可能なソフトウェア] ページ

  5. [ServiceFabric] プラグインを選択し、 [次へ] を選択します。

  6. インストール手順を実行します。 次に、使用許諾契約に同意します。

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
    

次のステップ