Azure Service Fabric CLI

Azure Service Fabric コマンド ライン インターフェイス (CLI) は、Service Fabric のエンティティを対話的に操作したり管理したりするためのコマンド ライン ユーティリティです。 Service Fabric CLI は、Windows クラスターと Linux クラスターのどちらでも使用できます。 Service Fabric CLI は、Python がサポートされるすべてのプラットフォームで動作します。

重要

Service Fabric との交信に使用される CLI ユーティリティが 2 つあります。 Azure CLI は、Azure でホストされる Service Fabric クラスターなどの Azure リソースを管理するために使用します。 Service Fabric CLI は、Service Fabric クラスターに直接接続し (ホストされている場所に関係なく)、クラスター、アプリケーション、およびサービスを管理するために使用します。

前提条件

インストール前に、ご使用の環境に Python と pip の両方がインストールされていることを確認してください。 詳細については、pip のクイックスタート ドキュメントと公式の Python インストール ドキュメントを参照してください。

CLI は、Python 3.x を推奨する Python バージョン 2.7 および 3.6 以降をサポートしています。

Service Fabric のターゲット ランタイム

Service Fabric CLI は、Service Fabric SDK の最新のランタイム バージョンをサポートすることを意図したものです。 インストールする CLI のバージョンの判断には、以下の表をご利用ください。

CLI のバージョン サポートされているランタイムのバージョン
最新 (10 まで) 最新 (7.1 まで)
9.0.0 7.1
8.0.0 6.5
7.1.0 6.4
6.0.0 6.3
5.0.0 6.2
4.0.0 6.1
3.0.0 6.0
1.1.0 5.6、5.7

pip install コマンドの末尾にオプションとして ==<version> を付けると、インストールする CLI のターゲット バージョンを指定できます。 たとえば、バージョン 1.1.0 であれば、次のような構文になります。

pip install -I sfctl==1.1.0

必要があれば、以下の pip install コマンドを上に挙げたコマンドで置換してください。

Service Fabric CLI リリースの詳細については、GitHub のドキュメントを参照してください。

pip、Python、Service Fabric CLI のインストール

ご利用のプラットフォームには、さまざまな方法で pip と Python をインストールできます。 ここでは主なオペレーティング システムを対象に、Python 3 と pip をすばやく設定する手順を説明します。

Windows

Windows 10、Windows Server 2016、Windows Server 2012 R2 については、標準的な公式インストール手順を使用してください。 Python インストーラーを実行すると、既定で pip もインストールされます。

  1. Python の公式ダウンロード ページに移動し、最新バージョンの Python 3.x をダウンロードします。

  2. インストーラーを起動します。

  3. プロンプトの一番下の [Add Python 3.x to PATH]\(Python 3.x を PATH に追加\) を選択します。

  4. [Install Now]\(今すぐインストール\) を選択してインストールを完了します。

この時点で新しいコマンド ウィンドウを開くと、対応する Python と pip のバージョンが得られます。

python --version
pip --version

その後、次のコマンドを実行して Azure Service Fabric CLI (sfctl) をインストールし、CLI ヘルプ ページを表示します。

pip install sfctl
sfctl -h

Ubuntu と Windows Subsystem for Linux

Service Fabric CLI をインストールするには、以下のコマンドを実行します。

sudo apt-get install python3
sudo apt-get install python3-pip
pip3 install sfctl

インストールが終わったら、以下を使ってテストできます。

sfctl -h

以下に示したようなコマンドが見つからないという趣旨のエラーが表示された場合には、

sfctl: command not found

$PATH から ~/.local/bin にアクセスできることを確認してください。

export PATH=$PATH:~/.local/bin
echo "export PATH=$PATH:~/.local/bin" >> .shellrc

フォルダーに対するアクセス許可が正しくないとの理由で Windows Subsystem for Linux へのインストールに失敗した場合には、管理者特権を使ってやり直すことが必要になる場合があります。

sudo pip3 install sfctl

Red Hat Enterprise Linux 7.4 (Service Fabric プレビュー サポート)

Service Fabric CLI を Red Hat にインストールするには、次のコマンドを実行します。

sudo yum install -y python38
sudo yum install python38-setuptools
sudo easy_install-3.4 pip
sudo pip3 install sfctl

インストールのテスト方法については、「Ubuntu と Windows Subsystem for Linux」セクションに記載の手順を参照してください。

MacOS

MacOS では、HomeBrew パッケージ マネージャーの使用をお勧めします。 HomeBrew をまだインストールしていない場合は、次のコマンドを実行してインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

次に、ターミナルから次のコマンドを実行して最新の Python 3.x、pip、Service Fabric CLI をインストールします。

brew install python3
pip3 install sfctl
sfctl -h

CLI 構文

コマンドの先頭には必ず sfctl が付きます。 sfctl -h を使用すると、使用できるすべてのコマンドについての一般的な情報が表示されます。 sfctl <command> -h を使用すると、特定のコマンドについてのヘルプ情報が表示されます。

コマンドの構造は、動詞またはアクションの前にコマンドの対象が来るという一定のパターンに従います。

sfctl <object> <action>

この例では、<object><action> の対象です。

クラスターの選択

何らかの操作を実行するには、まず、接続先のクラスターを選択する必要があります。 たとえば、testcluster.com という名前のクラスターを選択してそのクラスターに接続するには、次のコマンドを実行します。

警告

セキュリティ保護されていない Service Fabric クラスターを運用環境で使用することは避けてください。

sfctl cluster select --endpoint http://testcluster.com:19080

クラスターのエンドポイントには、プレフィックスとして http または https を付けたうえで、 HTTP ゲートウェイのポートを含める必要があります。 このポートとアドレスは、Service Fabric Explorer の URL と同じです。

証明書を使って保護されているクラスターの場合、PEM でエンコードされた証明書を指定できます。 証明書は、単一のファイルとしてまたは証明書とキーのペアとして指定できます。 CA の署名入りではない自己署名証明書の場合は、--no-verify オプションを渡して CA 検証を省略することができます。

sfctl cluster select --endpoint https://testsecurecluster.com:19080 --pem ./client.pem --no-verify

詳細については、セキュリティ保護された Azure Service Fabric クラスターへの接続に関するページを参照してください。

基本操作

クラスター接続情報は Service Fabric CLI セッションをまたいで維持されます。 Service Fabric クラスターを選択したら、任意の Service Fabric コマンドをクラスターに対して実行できます。

たとえば Service Fabric クラスターの正常性の状態を取得するには、次のコマンドを使用します。

sfctl cluster health

コマンドからは、次の出力が生成されます。

{
  "aggregatedHealthState": "Ok",
  "applicationHealthStates": [
    {
      "aggregatedHealthState": "Ok",
      "name": "fabric:/System"
    }
  ],
  "healthEvents": [],
  "nodeHealthStates": [
    {
      "aggregatedHealthState": "Ok",
      "id": {
        "id": "66aa824a642124089ee474b398d06a57"
      },
      "name": "_Test_0"
    }
  ],
  "unhealthyEvaluations": []
}

ヒントとトラブルシューティング

ここでは、一般的な問題を解決するうえでの推奨事項とヒントをいくつか紹介します。

PFX 形式から PEM 形式への証明書の変換

Service Fabric CLI は、クライアント側の証明書を PEM (拡張子 .pem) ファイルとしてサポートします。 Windows の PFX ファイルを使用している場合は、これらの証明書を PEM 形式に変換する必要があります。 PFX ファイルを PEM ファイルに変換するには、次のコマンドを使用します。

openssl pkcs12 -in certificate.pfx -out mycert.pem -nodes

同様に、PEM ファイルから PFX ファイルに変換するには、次のコマンドをご利用いただけます (ここではパスワードを指定していません)。

openssl  pkcs12 -export -out Certificates.pfx -inkey Certificates.pem -in Certificates.pem -passout pass:'' 

詳細については、 のドキュメントを参照してください。

接続の問題

一部の操作において、次のメッセージが表示される場合があります。

Failed to establish a new connection

この場合は、指定したクラスター エンドポイントが利用可能で、リッスン状態になっていることを確認してください。 また、そのホストとポートで Service Fabric Explorer の UI を利用できることも確認してください。 エンドポイントを更新するには sfctl cluster select を使用します。

詳細ログ

問題のデバッグまたはレポート作成を行う際には、詳細ログがよく役に立ちます。 --debug フラグは、出力の詳細レベルを上げます。

コマンドのヘルプと構文

特定のコマンドや、コマンドのグループについてのヘルプ情報を表示するには、次の例のように、-h フラグを使用します。

sfctl application -h

別名を使用した場合の例:

sfctl application create -h

Service Fabric CLI の更新

Service Fabric CLI を更新するには、次のコマンドを実行します (最初のインストール時に選択した内容に応じて pippip3 で置き換えます)。

pip uninstall sfctl
pip install sfctl

次のステップ