【发布时间】:2021-01-15 12:15:55
【问题描述】:
我有一个小型 Kubernetes 集群,我构建了(大部分)this tuto。
所以我在 Virtual Box CentOS 虚拟机上有一个主机和一些从机,我想从我的主机上的浏览器访问 Kubernetes 仪表板。
所以我使用this file 来创建我的仪表板服务、部署、角色绑定……。并按如下方式启动代理:
kubectl proxy --port=9999 --address=[MASTER_IP_ADDRESS] --accept-hosts="^*$"
然后我尝试使用 URL:http://[MASTER_IP_ADDRESS]:9999/api/v1/namespaces/kube-system/services/kubernetes-dashboard 从浏览器访问仪表板,但显示以下 json:
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "kubernetes-dashboard",
"namespace": "kube-system",
"selfLink": "/api/v1/namespaces/kube-system/services/kubernetes-dashboard",
"uid": "a0b1d1bc-5adf-11e9-a89e-080027cef83a",
"resourceVersion": "569",
"creationTimestamp": "2019-04-09T15:53:33Z",
"labels": {
"k8s-app": "kubernetes-dashboard"
},
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"k8s-app\":\"kubernetes-dashboard\"},\"name\":\"kubernetes-dashboard\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"k8s-app\":\"kubernetes-dashboard\"}}}\n"
}
},
"spec": {
"ports": [
{
"protocol": "TCP",
"port": 443,
"targetPort": 8443
}
],
"selector": {
"k8s-app": "kubernetes-dashboard"
},
"clusterIP": "10.102.168.28",
"type": "ClusterIP",
"sessionAffinity": "None"
},
"status": {
"loadBalancer": {
}
}
}
如何访问我的仪表板?
注意:
- 当我浏览 URL
http://192.168.99.20:9999/api/v1/namespaces/kube-system/services/kubernetes-dashboard:/proxy时,我收到503 no endpoints available for service \"kubernetes-dashboard\"错误。
编辑:
经过一番挖掘,我认为问题不仅仅是“我无法访问仪表板”。我用find here 提供的所有信息创建了另一个问题。
【问题讨论】:
-
503 no endpoints available for service \"kubernetes-dashboard\"告诉您您的仪表板尚未准备好。您必须使用kubectl get pod和kubectl logs POD_NAME检查 pod 状态。您的容器尚未准备好接收流量。 -
你是对的。出于某种原因,我的服务 kubernetes-dashboard 卡在挂起状态。我还不知道为什么,但我也有 dns pod 处于挂起状态,看起来像这个问题:github.com/play-with-docker/play-with-docker/issues/301.
标签: kubernetes