0

kubernetes + フランネルのセットアップがあります。フランネル構成は{"Network": "10.200.0.0/16", "SubnetLen":24, "Backend": {"Type": "vxlan"}}.

でapiserverを起動しました--service-cluster-ip-range=10.32.0.0/24。私が理解しているように、ポッドのアドレスは flannel によって管理され、service-cluster-ip-range は iptables によって管理されます。kubedns を実行し、実行中のデプロイメントに対して kubernetes ワーカー ノードから dig を実行しようとしました。

$ dig phonebook.default.svc.cluster.local @10.32.0.10 +short
10.32.0.7

ただし、ポッドで実行されているコンテナーの 1 つから同じコマンドを実行すると、次のようになります。

$ dig phonebook.default.svc.cluster.local
;; reply from unexpected source: 10.200.16.10#53, expected 10.32.0.10#53
;; reply from unexpected source: 10.200.16.10#53, expected 10.32.0.10#53
;; reply from unexpected source: 10.200.16.10#53, expected 10.32.0.10#53

; <<>> DiG 9.9.5-9+deb8u8-Debian <<>> phonebook.default.svc.cluster.local
;; global options: +cmd
;; connection timed out; no servers could be reached

ここで何が間違っているのでしょうか?

4

1 に答える 1

1

--masquerade-allkube-proxy にフラグを追加して、これを解決しました。iptables は、DNS ルックアップが失敗する原因となるこのフラグなしでリクエストをマスカレードしていないようです。

于 2017-01-10T18:40:50.837 に答える