この sandbox 内で dns ポッドを見つけられません。サービスディスカバリングでクラスターを操作するのはいかがでしょうか。
[root@netmaster ~]# kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system contiv-api-proxy-52jwg 1/1 Running 1 2h 10.10.20.1 netmaster
kube-system contiv-etcd-r69kv 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system contiv-netmaster-f04zj 1/1 Running 1 2h 10.10.20.1 netmaster
kube-system contiv-netplugin-0kfm0 1/1 Running 0 2h 10.10.20.3 k8s-worker-2
kube-system contiv-netplugin-2z02d 1/1 Running 0 2h 10.10.20.2 k8s-worker-1
kube-system contiv-netplugin-f0phz 1/1 Running 0 2h 10.10.20.4 k8s-worker-3
kube-system contiv-netplugin-wpr3c 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system dummy-2088944543-n793h 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system etcd-netmaster 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system kube-apiserver-netmaster 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system kube-controller-manager-netmaster 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system kube-discovery-1769846148-gx8ch 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system kube-proxy-6x86k 1/1 Running 0 2h 10.10.20.3 k8s-worker-2
kube-system kube-proxy-d3k70 1/1 Running 0 2h 10.10.20.2 k8s-worker-1
kube-system kube-proxy-fnh3s 1/1 Running 0 2h 10.10.20.1 netmaster
kube-system kube-proxy-jgszz 1/1 Running 0 2h 10.10.20.4 k8s-worker-3
kube-system kube-scheduler-netmaster 1/1 Running 0 2h 10.10.20.1 netmaster
Contiv を展開する際に、K8 DNS は削除されます。Contiv は自身の DNS を持っています。
サービスを取得したとき
[root@netmaster multi-tier]# kubectl get service -o wide --all-namespaces
NAMESPACE NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
default frontend 10.101.5.87 <nodes> 80:32195/TCP 44m app=guestbook,tier=frontend
default kubernetes 10.96.0.1 <none> 443/TCP 1d <none>
kube-system kube-dns 10.96.0.10 <none> 53/UDP,53/TCP 1d name=kube-dns
kube-system kubernetes-dashboard 10.102.32.215 <nodes> 80:32465/TCP 1d app=kubernetes-dashboard
sandbox 内、kube-dns を使ったクラスターのことのように聞こえますが、contiv dns ではありませんよね?
contiv は VXLAN mode でビルトイン DNS サービスを持っているので、deployment からの kube-dns pos を削除しました。
関連する kube-dns サービスは、有効なエンドポイントを持っておらず、DNS サービスを全く提供できません。
例えば10.96.0.10 は kube-dns の広表されたクラスター IP は、kubelet によって前もって設定されており、我々の次のリリースで削除するでしょう。
ご自身の pod 内でこのように /etc/resolv.conf を変更してください。(デフォルトネットを使用していると思いますが、10.96.0.2 はネットマスターアドレスです。)
echo "nameserver 10.96.0.2" > /etc/resolv.conf
echo "nameserver 10.96.0.2" > /etc/resolv.conf
納得しました。
kubernetes 1.6+とcontiv の 1.1.0バージョンは kube-dns の利用を許可し、削除することはできないということに注意してください。
kubneretes を 1.6.7 にアップグレードし、contiv を最新の 1.1.1 にアップグレードしました。
コメント
0件のコメント
サインインしてコメントを残してください。