如何访问仪表板服务内部使用Kubernetes

时间:2018-01-18 02:09:50

标签: kubernetes alibaba-cloud alibaba-cloud-ecs

我的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

我想在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

非常感谢。

2 个答案:

答案 0 :(得分:0)

将仪表板服务类型更改为 NodePort ,然后您可以使用任何群集访问仪表板:

  1. 将服务类型从ClusterIP更改为NodePort kubectl -n kube-system edit svc kubernetes-dashboard

  2. 获取服务端口号。

    kubectl -n kube-system get svc kubernetes-dashboard -o yaml |grep nodePort

  3. 使用https://masererverIP:nodeportnumber

  4. 访问dahboard

答案 1 :(得分:0)

In this answer您可以找到访问信息中心的不同方式。

如果您没有使用NodePortkubectl proxy,那么您的最佳选择是

API服务器

如果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