[英]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.