ドッカーマネージャーを作成しました。サービスを作成し、同じサーバー内の5つのインスタンスにスケールアップしました。Docker swarm - 新規ワーカーを追加 - サービスの規模を変更する
2人の作業者を追加しました。今、3つのノードに5つのアプリケーションインスタンスをどのように再配布しますか?
初めからすべてをやり直す必要はありませんか?
docker service scale id=5
です。それは正しい方法ですか?私はすでに存在するインスタンスを再起動したくありません。それは私がdocker swarm leave
によってクラスタから1つのノードを削除ノード1
docker service update servicename
で再起動します。私はサービスを更新しました。すべてのインスタンスが残りのノード内に複製されます。
嬉しいですが、アップデートが期待通りに機能しました。しかし、別のひねりがあります。
ノードを戻しました。その後、サービスを更新しました。今、私のインスタンスはすべて前のケースと同じように動作しています。新しいノードは使用しません。
どのように動作しますか?
ありがとうございました。編集した質問をご覧ください。 –
最終的な説明、現在の状態とターゲットの状態はどういう意味ですか?それはイメージやサービスに関連していますか? '実行中のコンテナを早期に殺して、新しいノード上で再スケジュールするのではなく、上記の更新コマンドを実行するまでは' --force update'を実行すると実行中のコンテナを強制終了し、HAを確保するために再スケジュールします。私は正しい? –
フォースアップデートでは、サービスのローリングアップデート、コンテナの再起動、およびリバランシングが行われます。現在の状態は現在実行中のもので、ターゲット状態はサービス内の定義です。 – BMitch