![](/img/trans.png)
[英]How to access/expose kubernetes-dashboard service outside of a cluster?
[英]How to access dashboard service internal use Kubernetes
我有類型為ClusterIP
kubernetes-dashboard
服務。 如何訪問內部儀表板? 我使用阿里雲。
我的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
我想在http:// MASTER_IP:80上運行我的儀表板
運行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
。
非常感謝。
將儀表板服務類型更改為NodePort,然后可以使用任何集群訪問儀表板:
將服務類型從ClusterIP更改為NodePort kubectl -n kube-system edit svc kubernetes-dashboard
獲取服務端口號。
kubectl -n kube-system get svc kubernetes-dashboard -o yaml |grep nodePort
在此答案中,您可以找到訪問儀表板的不同方法。
如果您不使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.