問題タブ [etcd]
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.
ssl - TLS で保護された etcd に対して kubernetes をセットアップできません
etcd config を使用して kubernetes api サーバーを起動しようとしています (kubernetes は、構成ファイルからすべてのパラメーターを読み取るメソッドを持つ go-etcd を使用します):
しかし、etcd に正常に到達できないため、kube-apiserver で失敗します。これは、クラスターを同期しようとするためだと思いますが、わかりません。
0.0.0.0/0 に設定されている listen-client-urls を除いて、アドバタイズおよびクライアント アドレスに内部 IP を使用して (etcd) クラスターを作成しました。また、クラスタ全体は、 からアクセスできるロード バランサの背後にありますmy-public-hostname
。
コンテナー内では (私は を使用しているためhyperkube
)、etcdctl
「--no-sync」パラメーターを設定しない限り機能しません。そのパラメーターなしで etcdctl を使用すると、kube-apiserver のように不審に失敗します。しかし、クラスターの同期を行うkubernetesのコードを確認できませんでした...
何か案は?
前もって感謝します。
編集:
kubernetes の現在の etcd クライアント ( https://github.com/coreos/go-etcd ) に関連するエラーのようで、最新のものではありません ( https://github.com/coreos/etcd/client ) )。これを経験的にテストしたところ、「etcd/client」は機能しますが、「go-etcd」は機能しません。このテストはhttps://github.com/glerchundi/etcd-go-clients-testで確認できます。
go-etcd を kubernetes の etcd/client に移行する作業が進行中であることは注目に値します: https://github.com/kubernetes/kubernetes/issues/11962。
Kubernetes チームの誰かがこれを確認できますか?
付録1
私はCoreOSでkubernetesを実行しようとしていflannel
ます.locksmithd
fleet
付録 2 (これらのコマンドは、hyperkube コンテナー内で実行されます。具体的には、このコンテナーです: gcr.io/google_containers/hyperkube:v1.0.6
)
--no-sync なしの etcdctl は、次の出力に失敗します。
そしてこれでkube-apiserver:
付録 3
etcd - etcd: 回復力のある再帰的な待機を変更します
etcd は、ノードの最後の既知のインデックスを wait コマンドに提供することで、クライアントが個々の k/v ノードの変更を安全に待機できるようにします。etcd では、特定の親ノードの下にある子ノードへの変更を (「再帰的に」) 待機することもできます。
さて、問題は次のとおりです。クライアントが子ノードの変更を見逃さないように、親ノードを再帰的に待機することは可能ですか? この場合、子ノードの変更時に親ノードのインデックスは変更されないため、親ノードのインデックスは役に立ちません。
node.js - nodejs で etcd から取得した構成を格納する場所
http 呼び出しから構成を取得しています。
その構成を保存できる場所、ファイルシステムにシリアライズするか、GLOBALまたはその他にアタッチします
nodejsでサービスディスカバリを実装しています。http://lukebond.ghost.io/service-discovery-with-etcd-and-node-js/
サービスレジストリを取得しています。アプリケーション全体で使用するために保存したい。
etcd - etcdctl の「--ca-file」フラグは役に立たない?
etcd
以下のコマンドでサーバーをセットアップしました。
そして、私はそれからデータを取得できますcurl
:
上記のコマンドは次を返します。
しかし、私が使用するときetcdctl
:
戻ります:
証明書の検証に失敗したためだと思ったのに、なぜ--ca-file
フラグがetcdctl
有効になるのですか? または、私のコマンドに何か問題がありますか?
私が使用したetcdのバージョンは次のとおりです。