我们已经设置了一个kubernetes集群,其中包含3个主节点和3个工作节点。然后我们安装了kubernetes -仪表板,它失败了,因为它无法连接到kubernetes (api-server)。它正在寻找本地主机:8080,但无法到达。当在一个繁忙的盒子中执行env时,我会收到:
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.2.0.1:443
KUBERNETES_PORT_443_TCP=tcp://10.2.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.2.0.1
KUBERNETES_SERVICE_HOST=10.2.0.1
KUBERNETES_SERVICE_PORT=443
所以我认为库伯内特斯应该可以在10.2.0.1:443上使用,但它不能回答。(连接被拒绝)
绑定地址为0.0.0.0 (由ssl保护),不安全的绑定地址未设置(这意味着绑定到127.0.0.1)。在文档中,我可以看到不安全的端口(8080)被公开到集群网络中。但我看不见。如果我执行kubectl获得服务,我会看到:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.2.0.1 <none> 443/TCP 1d
我是否需要采取更多的措施来在这些端口上公开8080和/或使kubernetes可用?
发布于 2016-06-15 07:05:59
当Kubernetes客户端没有配置apiserver的特定位置时,连接到localhost:8080
是默认行为。通常,仪表板使用通过服务帐户添加到吊舱中的"In群集凭据“连接到apiserver。
发布于 2019-03-14 15:20:23
这是当root用于kubectl和/etc/kubernetes/admin.conf不在/root/..kube/config(需要重命名它)时的典型行为。
建议的步骤是创建非根用户e.x(kubeadmin),并在/home/of/kubeadmin/..kube/config中放置/etc/kubernetes/admin.conf。
[root@k8s-1 ~]# kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
[root@k8s-1 ~]# mkdir /root/.kube
[root@k8s-1 ~]# cp /etc/kubernetes/admin.conf /root/.kube/config
[root@k8s-1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-node1 Ready master 90d v1.12.3
k8s-node2 Ready <none> 90d v1.12.3
k8s-node3 Ready <none> 90d v1.12.3
k8s-node4 Ready <none> 6d1h v1.12.3
https://serverfault.com/questions/783859
复制相似问题