問題タブ [skydns]
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 - SkyDns/Skydock の 2 つの環境を同時に実行するにはどうすればよいですか?
参照: https://github.com/crosbymichael/skydock https://github.com/crosbymichael/skydns
最初に、これら 2 つのインスタンスを起動しました。
そして、このセットアップは期待どおりに機能しています。
ここで、別の本番環境を生成したいと考えています。今回は、次のように env プロダクションで別のスカイドック コンテナーを起動しただけです。
API のクエリを実行しても、本番用のスカイドキュメントは表示されません。
そして今、skydockの製品版をどのようにセットアップするのか疑問に思っています.
別の docker-host で実行する必要がありますか? 同じ docker ホストで起動した場合、どの DNS url エントリで新しいコンテナを利用できますか? 新しいコンテナを起動して本番環境で使用できるようにするときに、いくつかのフラグ/変数を渡す必要がありますか?
kubernetes - 名前またはサービスが不明です [tcp://redis-slave:6379]
Kube-Sky アドオンを使用して Guestbook Kubernetes アプリを実行する。ゲストブック アプリのページで、JavaScript コンソールに次のエラーが表示されます。
以下は、セットアップで見つけることができる DNS に関連するすべての変更 (対提供されたテンプレート) です。
dns - Kubernetes マルチクラスター サービスの検出
同じプロジェクト内の別の Kubernetes クラスターから Kubernetes クラスターによって公開されているサービスを呼び出す方法に関連して います。
Kubernetes は 7 月から大幅に変更されているため、もう一度お尋ねします。
環境:
私は、さまざまな目的を果たす複数のクラスターを備えたインフラストラクチャに取り組んでいます。
- クラスター A は、消費用のデータを作成するサービス/アプリを実行します
- クラスター B は、クラスター A のアプリによって作成されたデータを使用するサービス/アプリを実行します
- クラスター C は、Redis、Memcache などのデータ サービスを実行します。
すべてのクラスターはdefault
名前空間にあります。
問題:
Kubernetes では、各クラスターは、異なる IP を持つ独自の kubernetes (default
名前空間内) および kube-dns (名前空間内) サービスを取得します。kube-system
このセットアップで何が起こるかというと、上記のクラスター A と B のサービスは (サービス検出の用語で) 検出できません。たとえば、クラスター C の Redis を検出できません。したがって、nslookup redis.default.svc.cluster.local
クラスター A/B のサービスの 1 つからの a が返され** server can't find redis.default.svc.cluster.local: NXDOMAIN
ます。注:これはクラスター C 内から機能します。
kube-dns について見つけた限り多くのドキュメントを読みましたが、ほぼすべてが 1 つのクラスター セットアップを前提としています。
クラスター情報:
以下は/etc/resolv.conf
、共通の kube-dns 祖先を持たない DNS ネームサーバーを示す 2 つの異なるクラスターからのものです。
クラスタ A:
クラスタ C:
kube-system
両方のクラスターには、名前空間内のクラスターのそれぞれの IP で実行されているこれらのサービスがあります。
GCE 環境のすべての Kubernetes クラスターで共有サービスを検出できる、この設定に対する理想的な修正/更新は何ですか?
docker - Kubernetes: spec.clusterIP: invalid value?
Whether prompt, What linked in kubernetes this message:
At that that DNS_SERVICE_IP = 10.3.0.10
, and SERVICE_IP_RANGE = 10.3.0.0/16
My ip-address:
docker - デーモン セットの SkyDNS とローカル DNS 解決
デーモン セットまたは静的ポッド (Kubernetes マニフェスト経由) を使用して、すべての Kubernetes ホストで SkyDNS を実行することを検討しています。すべてのコンテナーがローカルの SkyDNS を使用するようにし、意図的に Kubernetes クラスター IP / kube-proxy ルーティングをバイパスしたいと考えています。これを実現する 1 つの方法は、DNS ポート 53 を SkyDNS ポッドから各ホストにマップし、各コンテナーをホスト上で強制的に解決することです。おそらく、systemd ユニットで --cluster-dns を使用して docker bridge IP を kubelet に渡すことによって可能です。
同じことを達成するためのより良い代替手段はありますか?
ありがとう、アンドレイ
kubernetes - ポッド内から ClusterIP に ping を実行できず、DNS が google.com などの外部ドメインに対して機能していません
Bare-metal/Ubuntu に Kubernetes をインストールしました。私は6b649d7f9f2b09ca8b0dd8c0d3e14dcb255432d1
gitでコミットしています。cd kubernetes/cluster; KUBERNETES_PROVIDER=ubuntu ./kube-up.sh
続いてcd kubernetes/cluster/ubuntu; ./deployAddons.sh
クラスターを開始しました。すべてがうまくいき、クラスターが起動しました。
私の/ubuntu/config-default.sh
は次のとおりです。
次に、次の yml ファイルを使用してポッドを作成しました。
そして、次の yml を使用するサービス:
そして、起動したコンテナターミナルに を使って乗り込みましたdocker exec -it [CONTAINER_ID] bash
。主に次の 2 つの問題があります。
- google.com などの外部ドメインには ping を実行できませんが、8.8.8.8 などの外部 IP には ping を実行できます。したがって、コンテナはインターネットにアクセスできます。
- 内部サービスは正しい内部 ClusterIP に解決されますが、コンテナー内からその IP に ping を実行できません。
ホストの/etc/resolve.conf
ファイルは次のとおりです。
コンテナの/etc/resolve.conf
ファイルは次のとおりです。
最初の問題に関しては、SkyDNSネームサーバーの設定ミスか、私がしなければならないカスタム設定に関連している可能性があると思いますが、私は気づいていません.
ただし、コンテナーが ClusterIP に ping を実行できない理由についてはわかりません。
回避策はありますか?