これを処理するというコマンドがありappscale-add-instances
ます。ここにはさらに多くのドキュメントがありますが、要約は次のとおりです。
- 新しいマシンに、現在実行中のマシンと同じバージョンの AppScale がインストールされていることを確認してください。
IP アドレスを含む YAML ファイルを作成します。単一のノードを追加する例は次のとおりです。
メモリキャッシュ: 192.168.10.3
taskqueue_slave: 192.168.10.3
アプリエンジン: 192.168.10.3
これは、memcache、taskqueue、および appengine サービスを実行するマシンが 1 台あることを示しています。
- 実行
appscale-add-keypair --add_to_existing --ips your-yaml-file.yaml
して、新しいノードで SSH キーを同期します。Amazon EC2、Google Compute Engine、または Eucalyptus で実行している場合は、この手順をスキップしてください。
- 実行
appscale-add-instances --ips your-yaml-file.yaml
して新しいノードを追加してください!
古い回答 (後世のために保存され、このサポートの実装方法のウォークスルー):
したがって、簡単な答えは「サポートされていません」です。クラッシュしたノードを追加するケースは、一般的に新しいノードを追加するケースと非常によく似ているので、AppScale をハックしてこれを機能させる方法は次のとおりです。
- AppScale ツール ( github の AppScale/appscale-tools
appscale-add-nodes
) を確認し、現在実行中の AppScale デプロイに追加するノードのリストを取得する、bin で新しいコマンドを作成します。
- AppController ( AppController/djinn.rb )のメイン AppScale コード ( github の AppScale/appscale ) に新しい SOAP 公開メソッドを追加し、呼び出されます( SOAP を介してメソッドを公開する方法とその定義については、djinnServer.rbを参照してください。これは、AppScale ノードとして起動する IP のリストを 1 つの引数として受け取ります。
add_nodes_from_ips
djinn.rb
- Shadow AppController
appscale-add-nodes
(IP アドレスは ~/.appscale/locations-appscale.yaml にあります) に接続し、IP のリストを使用して新しい SOAP 公開メソッドを呼び出し、AppScale を起動します。
SOAP 公開メソッドはstart_appcontroller
、各 IP アドレスで呼び出す必要があります。これにより、AppController デーモンがそこで開始され、他の AppController に接続できるようになります。開始する役割のリストはあなた次第です。AppScale が新しいノードを何に使用するかを決定できるように、open 役割を使用することをお勧めします。
取り入れることは間違いなくたくさんありますが、コメントに応じてこの回答を更新できることを嬉しく思います(もちろん、SOAPの追加方法など、この個々の部分ごとにAppScale wikiにページを追加します一般に AppController へのメソッド)。