2017-08-29 16 views
2

トラフィックディストリビュータ(https://docs.jelastic.com/traffic-distributor)は、アプリケーションに負荷分散を追加し、Blue/Greenを展開するクールな機能です。 しかし、トラフィックディストリビューターを制御するAPIがないので、新しいリリースの公開を自動化することは不可能です。API経由でJelastic Traffic Distributorを制御する方法

これを行う方法はありますか?

答えて

1

APIでTraffic Distributorを作成して制御する可能性があります。

まず

...私たちは流れを説明してみましょう、あなたは、プラットフォームにログインして、セッションを取得する必要があります。 これは、次のAPIリクエストによって行うことができます。

https://app.{platform_domain}/1.0/users/authentication/rest/signin/login={your_email}&password={your_password} 

あなたはJelasticプラットフォームV 5.1+を使用している場合は、POSTとして言及した要求を実行する必要があります。

例として、あなたはこの使用してカール行うことができます、あなたはこの要求を使用して、トラフィックディストリビュータを

curl 'https://app.{platform_domain}/1.0/users/authentication/rest/signin' -d "login={your_email}&password={your_password}" 

次作成することができます。

http://appstore.{platform_domain}/InstallApp?envName=[env_name]&session=[your_session]&jps=traffic-distributor&displayName=[disp_env_name]&settings={"extip":true,"balancerCount":1,"routingMethod":"round-robin","range":50,"backend1":"{environment_1}","backend2":"{environment_2}"} 

  • は、 [env_name] - 環境の名前です。

  • [disp_env_name] - Dashboardの環境の表示名。

  • [your_session] - あなたのセッションは、以前のリクエストの応答から取得できます。

トラフィックディストリビュータの必要な設定は、JSON内で指定することができます。

  • extipは - (を強くお勧めします!)交通ディストリビュータ用の外部IPを有効にします。
  • balancerCount - Traffic Distributor内のバランサの数。 (デフォルト= )
  • routingMethod - トラフィックのルーティングに必要なメソッドを定義します。にルーティングされるトラフィックの割合を定義し、 - ラウンドロビンスティッキーセッションまたはフェイルオーバ

    • 範囲

    あなたは次の可能な値を指定することができます最初の環境。

  • 例えば

: - すべての要求が 、{environment_2}にルーティングされる - すべての要求は、{environment_1}に にルーティングされる - すべての要求をします均等に環境のバランスをとること。

  • {environment_1} - ENV-XXXXXXXのような最初の環境へのURL {platform_domain}
  • {environment_2} - ENV-XXXXXXXのような第2の環境へのURL {platform_domain}

このメソッドを実行すると、Traffic DistributorがJelastic Dashboardに表示されます。

、(アドオン内部部)反応から "固有名" の値を取る次のAPIリクエストを実行してください:[env_name]

https://app.{Platform_domain}/1.0/environment/control/rest/getenvinfo?envname=[env_name]&session=[your_session] 

、 - の名前Traffic Distributorアドオンを使用して作成された環境。

今、あなたは、次のAPIによって作成されたトラフィックディストリビュータの設定を制御することができます

https://appstore.{Platform_domain}/ExecuteAppAction?session=[your_session]&appUniqueName=[app_unique_name]&action=configure&params={"extip":1,"balancerCount":1,"routingMethod":"sticky-sessions","range":50,"backend1":"{environment_1}","backend2":"{environment_2}"} 

を、どこ

[app_unique_name] - の応答から値 "固有名"前のリクエスト。

JSON内部設定InstallApp APIリクエストの場合とまったく同じ。

+0

素晴らしい!これは公式の文書に記載されているのですか、更新する途中ですか? –

+0

私たちのドキュメントはすぐに更新されます、ありがとう。 – Jelastic

関連する問題