2016-11-18 1 views
7

DC/OSオーケストレーターを使用してACSを少し試していますが、単一のリージョン内のクラスタをスピンアップするのは簡単なようですが、練習は複数の地域にまたがって展開することです。複数の地域のAzureコンテナサービスDC/OSクラスタ

Azure自体は、現在複数の地域への展開をサポートしていないようです。その前提で、唯一の選択肢は、利用可能なすべての地域に複数の同一のクラスタを作成し、次にAzure Traffic Managerを使用して着信トラフィックを最も近い利用可能なクラスタにルーティングすることだと思います。

この解決策は機能しますが、私はどのように回避するべきかについて100%確信していません。

  1. 新しいバージョンのサービスを展開する場合は、展開パイプラインですべての領域に展開する必要があります。私たちが東北アメリカ地域を持っている場合は、CIツールの配備中に、新しい配備を開始するために、両方の地域のMarathon APIに接続する必要があります。ある領域でデプロイメントが失敗し、他の領域でデプロイメントが成功した場合、私は突然2つの領域間に不一致があります。
  2. ローカルの永続的なボリュームを使用したサービスがある場合は、PostgreSQLまたはElasticSearchとしましょう。サービス発見ではその地域のローカルサービスしか見つからないため、両方の地域にインスタンスが必要です。それは、リージョン間の複製の問題を引き起こし、すべての地域ですべての状態を維持します。これは動作させるためには手動での設定が必要です。

は(私は同じ課題がある見つけることができると仮定して、あるいは本当にアマゾンコンテナサービス)誰もが今までに多少この使用してAzureのコンテナサービスのような設定を使用しており、このにアプローチする方法についていくつかのポインタがありますか?

答えて

0

あなたは正しいです現在、ACSはマルチリージョン展開をサポートしていません。

あなたの最初の問題はDC/OSのMarathon特有の問題です。私はいくつかのエンジニアにそのベストプラクティスに関するインプットがあるかどうかをピニングします。

あなたの2番目のポイントは私たち(私はACS PMです)が見ているものです。特定のシナリオで使用できるソリューションがいくつかあります(たとえば、ArangoDBはDC/OSユニバースにあり、複製を提供します)。 DC/OSチームは、ここでも言いたいことがあります。 ACSでは、このユースケースに対してソリューションを提供するための最良のアプローチを評価していますが、私はタイムラインを示すことはできません。

代わりの解決策は、データベースをSaaS製品に含めることです。これにより、冗長性と複製の管理が複雑になります。

1

複数の地域でスピンアップするオプションは複数あります。私はそれらのそれぞれのためにterraformと一緒にカスタムインストールを使用します。異なる地域間でhttps://github.com/bernadinm/terraform-dcos

配布エージェントがあなたのサービスが失敗にもかかわらず、走り続けることを確実に、問題はないはず。ここでこれは素晴らしい出発点です。

障害発生時にサービスを制御できるようにマスターを配布することは、レイテンシの高いリンクに動物園の定足数を配布することから少し遅れているので、地域間の距離を慎重に選択する必要があります。

詳細はdocumentationをご覧ください。

関連する問題