1

我的主节点 IP 地址是 192.168.56.101。还没有节点连接到主节点。

master@kmaster:~$ kubectl get nodes
NAME      STATUS   ROLES    AGE    VERSION
kmaster   Ready    master   125m   v1.15.1
master@kmaster:~$

当我使用以下命令部署我的 kubernetes-dashborad 时,为什么运行 kubernetes-dashboard-5c8f9556c4-f2jpz 的 IP 地址是 192.168.189.6 同样其他 pod 也有不同的 IP 地址。

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml
master@kmaster:~$ kubectl get pods -o wide --all-namespaces
NAMESPACE              NAME                                          READY   STATUS    RESTARTS   AGE    IP               NODE      NOMINATED NODE   READINESS GATES
kube-system            calico-kube-controllers-7bd78b474d-r2bwg      1/1     Running   0          113m   192.168.189.2    kmaster   <none>           <none>
kube-system            calico-node-dsgqt                             1/1     Running   0          113m   192.168.56.101   kmaster   <none>           <none>
kube-system            coredns-5c98db65d4-n2wml                      1/1     Running   0          114m   192.168.189.3    kmaster   <none>           <none>
kube-system            coredns-5c98db65d4-v5qc8                      1/1     Running   0          114m   192.168.189.1    kmaster   <none>           <none>
kube-system            etcd-kmaster                                  1/1     Running   0          114m   192.168.56.101   kmaster   <none>           <none>
kube-system            kube-apiserver-kmaster                        1/1     Running   0          114m   192.168.56.101   kmaster   <none>           <none>
kube-system            kube-controller-manager-kmaster               1/1     Running   0          114m   192.168.56.101   kmaster   <none>           <none>
kube-system            kube-proxy-bgtmr                              1/1     Running   0          114m   192.168.56.101   kmaster   <none>           <none>
kube-system            kube-scheduler-kmaster                        1/1     Running   0          114m   192.168.56.101   kmaster   <none>           <none>
kubernetes-dashboard   kubernetes-dashboard-5c8f9556c4-f2jpz         1/1     Running   0          107m   192.168.189.6    kmaster   <none>           <none>
kubernetes-dashboard   kubernetes-metrics-scraper-86456cdd8f-w45w2   1/1     Running   0          107m   192.168.189.4    kmaster   <none>           <none>
master@kmaster:~$

而且也无法访问 kubernetes-dashboard UI。我正在使用链接 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

并且链接 KubeDNS https://192.168.56.101:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy也不起作用。

但是当尝试在https://192.168.56.101:6443访问 Kubernetes 主服务器时正在工作。

master@kmaster:~$ kubectl cluster-info
Kubernetes master is running at https://192.168.56.101:6443
KubeDNS is running at https://192.168.56.101:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

有什么建议么。

4

2 回答 2

1

解决方案(见评论):不要混合你的物理和覆盖网络范围。

访问 KubeDNS 只能使用 DNS 作为协议,而不是 HTTP。如果要查询 DNS 服务,则需要 kubectl 端口转发,而不是 HTTP (API) 代理。

于 2019-07-28T16:40:36.297 回答
1

如果您尝试使用 localhost:8081 访问仪表板,则必须从控制台运行 kubectl proxy --port 8081 以设置 localhost 到 k8s apiserver 之间的代理。

如果您想在没有本地代理的情况下直接从 apiserver 访问仪表板,请尝试以下 url https://192.168.56.101:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy(假设您的服务名称是 kubernetes-dashboard)

您还可以运行 kubectl port-forward svc/kubernetes-dashboard -n kubernetes-dashboard 443,然后使用https://localhost:443访问仪表板

于 2019-07-30T09:40:01.840 回答