Kubernetes 集群 IP 没有响应

Kubernetes 集群 IP 没有响应

我们设置了一个包含 3 个主节点和 3 个工作节点的 kubernetes 集群。然后我们安装了 kubernetes-dashboard,但由于无法连接到 kubernetes(api-server),因此失败。它正在寻找 localhost:8080,但无法访问。在 busybox 中执行 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

因此,我希望 kubernetes 可以在 10.2.0.1:443 上使用,但它没有回答。(连接被拒绝)

绑定地址为 0.0.0.0(由 SSL 身份验证保护),不安全绑定地址未设置(这意味着它绑定到 127.0.0.1)。在文档中,我可以看到不安全的端口(8080)暴露给集群网络。但我看不到它。如果我执行 kubectl get services,我会看到:

NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   10.2.0.1     <none>        443/TCP   1d

我是否需要采取更多措施来在那里公开 8080 和/或使 kubernetes 在这些端口上可用?

答案1

当 Kubernetes 客户端未配置 apiserver 的特定位置时,默认行为是连接到localhost:8080。通常,仪表板使用通过服务帐户添加到 pod 的“集群内凭据”连接到 apiserver。

答案2

这是使用 root 权限时的典型行为库布克和 /等/kubernetes/admin.conf不在/root/.kube/config(您需要重命名它)。

建议的方法是创建一个非 root 用户 ex(kubeadmin)并放置/etc/kubernetes/admin.conf/home/of/kubeadmin/.kube/config

[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

相关内容