我的kubernetes-dashboard
服务类型为ClusterIP
。如何访问仪表板内部?我使用的是阿里云。
我的service.yml
---
kind: Service
apiVersion: v1
metadata:
labels:
kubernetes.io/cluster-service: "true"
app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 9090
selector:
app: kubernetes-dashboard
运行我的信息中心
运行kubectl cluster-info
时的状态:
Kubernetes master is running at https://MASTER_IP:6443
Heapster is running at https://MASTER_IP:6443/api/v1/namespaces/kube-system/services/heapster/proxy
KubeDNS is running at https://MASTER_IP:6443/api/v1/namespaces/kube-system/services/kube-dns/proxy
kubernetes-dashboard is running at https://MASTER_IP:6443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy
monitoring-influxdb is running at https://MASTER_IP:6443/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy
当我访问https://MASTER_IP:6443
时,我收到错误default backend - 404
。
注意:请勿使用NodePort和kubectl proxy
。
非常感谢。
答案 0 :(得分:0)
将仪表板服务类型更改为 NodePort ,然后您可以使用任何群集访问仪表板:
将服务类型从ClusterIP更改为NodePort
kubectl -n kube-system edit svc kubernetes-dashboard
获取服务端口号。
kubectl -n kube-system get svc kubernetes-dashboard -o yaml |grep nodePort
答案 1 :(得分:0)
In this answer您可以找到访问信息中心的不同方式。
如果您没有使用NodePort
或kubectl proxy
,那么您的最佳选择是
如果Kubernetes API服务器公开并可从外部访问,您可以直接访问仪表板:https://<master-ip>:<apiserver-port>/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
也可以使用Ingress资源公开仪表板。例如
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kubernetes-dashboard-ingress
namespace: kube-system
spec:
rules:
— host: kubernetes
http:
paths:
— path: /ui
backend:
serviceName: kubernetes-dashboard
servicePort: 80