我有一个小型的Kubernetes集群,该集群主要(this tuto)建立。
因此,我在Virtual Box CentOS VM上有一个主服务器和一些从属服务器,我想从主机上的浏览器访问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": {
}
}
}
如何访问仪表板?
注意:
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使用的信息创建了另一个问题。
答案 0 :(得分:0)
通过 kubectl 代理访问 Kubernetes 仪表板
例如
kubectl -n kube-system get pods | grep dashboard
例如kubectl proxy
(代理到 8001)默认情况下
访问仪表板
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
只能从执行命令的机器访问 UI。有关更多选项,请参阅 kubectl proxy --help。
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/