問題タブ [confd]
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.
docker - Docker コンテナー全体での dnsmasq の奇妙な動作
を実行する docker コンテナーを実行する CoreOS インスタンスがありますdnsmasq
。現在、dnsmasq
構成はすべてのクエリをログに記録し、デバッグ モードで実行するように設定されているため、キャッシュのみを実行する必要があります。
dig
、nslookup
、または単に実行している別のコンテナからこれを使用しようとすると、ping google.com
戻っBad hostname: google.com
てきて、ログクエリで、再試行されているかのように、リクエストが複数回送信されていることがわかります。
CoreOS を実行しているホスト マシンから同じコマンドを実行しようとすると、1 回の試行ですべての問題が解決されません。
私の計画はdnsmasq
、クラスタ内の各 CoreOS マシンでを実行しconfd
、それを でサポートすることで、すべてのサービスが適切な相手を解決できるようにすることです。
基本イメージに Alpine Linux を使用していますが、これらのコマンドを Ubuntu と Debian イメージ内で実行しようとしましたが、結果は同じでした。
nginx - nginx conf 外挿の環境変数
confd
環境に応じて構成ファイルをレンダリングするために使用しています
私の構成:
confd
よく走る
しかし、生成されたファイルは変数を解決しません
- ここで何か間違っていますか?
- これをデバッグするにはどうすればよいですか?
go - Go テンプレート - json リストにキーが存在するかどうかを確認します
動的なnginxサービスの再構成にconfdを使用しており、Goテンプレートと少し苦労しています。という名前の json オブジェクトが$data
あり$data.subsets
、「addresses」という名前のキーが含まれている可能性があります。その条件が満たされた場合にのみ、ループ内でテンプレートを実行したいと考えています。
以下に示すようなさまざまなことを試しましたが、$data.subsets[0].addresses
これは完全に間違っています。これを正しく行う方法がよくわかりません。
これは、少なくとも 1 つのアップストリーム サービスがある場合にのみレンダリングしたい nginx テンプレートの一部であり、サービスがない場合や利用できない場合ではありません。
テンプレートに続くのは、$data
成功した場合と失敗した場合の json オブジェクトです。
事前に助けてくれてありがとう、それは大歓迎です!
$data
Pod がスケジュールされていない場合の例:
$data
Pod が実行されているが正常ではない場合の例:
$data
実行中のポッドが使用可能な場合の例。これは、レンダリングするテンプレートの繰り返しのために満たしたい唯一の条件です。
ssm - Confd は、AWS 構成で設定されたロールを無視しますか?
現在、キーのプロバイダーとして SSM を使用して confd POC をセットアップしようとしています。現在、AWS にはルート アカウントである 1 つのアカウントと、環境を分離するための複数のロールがあります。
現在、私のAWS設定はそのように見えます
コマンドを指定すると、これは私にとって非常にうまく機能します
この poc 用に作成したキーを返してください
confdの場合はそうではありませんが
短いテストを 1 回実行し、ロール アカウントではなくルート アカウントにキー /eric を作成しました。それを実行した後、期待どおりに機能しました。ロールを「使用」するための confd の隠し設定があるのではないかと思います。 ? 現在は役割を考慮していないように見えるからです。
私のconfdテンプレートは次のようになります
そして私のconfd設定は次のようになります
この特定の問題に関して誰かが私に指示を与えることができますか?