問題タブ [consul]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - consul で ACL が有効にならない
単一のインスタンスにコンサルをセットアップしました。はweb-ui
完全に動作していますが、ACL が有効になっていません。以前は構成ファイルがありませんでしたが、次の内容のconfig.json
ファイルを作成しました。/etc/consul.d/bootstrap/
次のコマンドを実行したよりも
領事エージェント -server -bootstrap -data-dir /tmp/consul -ui-dir /home/ubuntu/dist/ -client=XXXX
X.X.X.X
インスタンスのプライベート IP はどこですか
しかし、ACL は有効になっていません。
/etc/consul.d/server/config.json
/etc/consul.d/server/config.json
作業構成ファイル
次のコマンドを実行します
spring-cloud - Spring cloud は Turbine に Eureka を必要としますか、それとも consul と連携していますか?
サービスの検出にconsulを使用しています。すべてのサーキット ブレーカー ストリームをタービンに集約します。
Turbine は発見部分に Eureka を必要としますか、それとも consul と同様に機能しますか?
次のエラーが表示されます。
ありがとう
consul - サーバーの再起動後に領事クライアントをサーバーに再参加させる方法は?
サーバー (単一ノード) を開始しました。そしてクライアントに加わりました。
次に、サーバーを再起動します。そして、サーバー上で次のように表示されます:
クライアント上:
クライアント ログに次のように記録されます。
サーバーが左ステータスのままになるのはなぜですか? クライアントをサーバーに自動的に再参加させるにはどうすればよいですか?
go - クラスター内の n 個の Web サーバー間のファイル同期
Web クラスターにはn 個のノードがあります。ファイルは任意のノードにアップロードでき、その後、他のすべてのノードに配布する必要があります。この分散は、トランザクションで発生する必要はありません (実際、分散トランザクションはスケーリングされません)。最小限である必要がありますが、多少の遅延は許容されます。最終的にすべてのノードが同じファイルのセットを持つように、解決がすべてのノードにも分散される場合、競合は任意に解決できます (通常、最後の書き込みが優先されます)。既存のノードを再構成することなく、ノードを動的に追加および削除できます。単一障害点があってはならず、これを解決するために追加のボックス (RabbitMQ など) は必要ありません。
私は動的構成に consul.io を使用して、各ノードが consul を参照して他のノードが利用可能かどうかを判断し、関連するフォルダーを監視し、ZeroMQ を使用して他のノードと通信するデーモン (Golang) を作成することを考えています。
でも、車輪を再発明するような気がします。これは一般的な問題であり、私が知らない解決策が既に利用可能であると思いますか? それとも、私のアプローチが間違っていて、これを解決する別の方法がありますか?
service - Consul: 既存会員のIPを知らずに入会
新しいエージェントを領事メンバーのグループに参加させるには、少なくとも 1 人の既存のメンバーの IP を知る必要があります。既存のグループ メンバーの IP がわからないシナリオをサポートする必要があります。サービス検出は完全に自動的に実行される必要があるため、この状況では人間の介入は不可能です。
これを解決するための私の考え: ブロードキャストまたはマルチキャストを介して、ネットワーク内の他のコンピューターにメッセージを送信できます。すべてのコンピューターは、私が実装するカスタム サービスをホストします。そのサービスは、consul がリッスンしている IP アドレスを使用して、この特別なブロードキャスト/マルチキャスト メッセージ (例: 「既存のクラスター メンバーを探しています」) に応答します。その後、サービスはネットワークから 1 つ以上の応答を取得し、IP アドレスの 1 つを使用してクラスターに参加します。
この問題を解決するためのより良いアイデアはありますか? これを解決する既存のライブラリはありますか?
consul - Consul は私のフォルダをキーとして扱います
Consul からキーのリストをリクエストすると、現在のフォルダーがキーとして返されます。
http://consul_url/v1/kv/app/myapp?keys
["app/myapp/key1","app/myapp/key2","app/myapp/key3","app/myapp/key4","app/myapp/"]
別のアプリ/フォルダーをチェックするとき、それはしません:
["app/myapp2/key1","app/myapp2/key2","app/myapp2/key3","app/myapp2/key4","app/myapp2/"]
フォルダーがキーのリストに表示されないようにしたいと思います。
docker - Consul/Registrator アーキテクチャ - VM ごとに個別の Consul エージェントが必要ですか?
Consul と Registrator を使用して、さまざまな VM でマイクロサービスを取得しようとしていますが、十分に得られていないと思います。Registrator がコンテナーを Consul に自動登録することを理解しています。そのため、Consul を実行する VM を 1 つ用意し、マイクロサービスごとに、Registrator + マイクロサービスを備えた VM を用意することを考えていました。
ただし、Registrator に別の VM の Consul エージェントと通信させることができません。提案されたアーキテクチャを詳しく見てみると、VM ごとに個別の Consul エージェントが必要なようです。私はそれを正しく理解していますか?もしそうなら、なぜですか?登録者はコンテナ情報を任意の VM の Consul エージェントに転送できるべきではありませんか?
また、Consul エージェントとサーバーを使用して VM でレジストレーターを実行する必要がありますか?