在早期的版本中 Kubernetes可以在 Dashboard 中看到 heapster 提供的一些图表信息,
在后续的版本中会陆续移除掉 heapster,现在更加流行的监控工具是 prometheus,prometheus 是 Google 内部监控报警系统的开源版本,所以这里的Dashboard 不会看到有图表信息。
1.下载官方的yaml文件
进入官网: https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
如果网络不好,不能直接下载,需要手动创建kubernetes-dashboard.yaml文件
2.修改yaml文件


修改两个地方,
第一个是修改镜像,
第二个是添加一个type,指定端口类型为 NodePort,这样外界可以通过地址 nodeIP:nodePort 访问 dashboard;
完整的yaml配置文件如下:
kubernetes-dashboard.yaml
1apiVersion: v1 2kind: ServiceAccount 3metadata: 4 name: kubernetes-dashboard 5 namespace: kube-system 6--- 7apiVersion: rbac.authorization.k8s.io/v1beta1 8kind: ClusterRoleBinding 9metadata: 10 name: kubernetes-dashboard 11 labels: 12 k8s-app: kubernetes-dashboard 13roleRef: 14 apiGroup: rbac.authorization.k8s.io 15 kind: ClusterRole 16 name: cluster-admin 17subjects: 18- kind: ServiceAccount 19 name: kubernetes-dashboard 20 namespace: kube-system 21--- 22apiVersion: extensions/v1beta1 23kind: Deployment 24metadata: 25 name: kubernetes-dashboard 26 namespace: kube-system 27 labels: 28 k8s-app: kubernetes-dashboard 29 kubernetes.io/cluster-service: "true" 30 addonmanager.kubernetes.io/mode: Reconcile 31spec: 32 selector: 33 matchLabels: 34 k8s-app: kubernetes-dashboard 35 template: 36 metadata: 37 labels: 38 k8s-app: kubernetes-dashboard 39 annotations: 40 scheduler.alpha.kubernetes.io/critical-pod: '' 41 spec: 42 serviceAccountName: kubernetes-dashboard 43 containers: 44 - name: kubernetes-dashboard 45 image: docker.io/mritd/kubernetes-dashboard-amd64 46 resources: 47 limits: 48 cpu: 100m 49 memory: 300Mi 50 requests: 51 cpu: 100m 52 memory: 100Mi 53 ports: 54 - containerPort: 9090 55 livenessProbe: 56 httpGet: 57 path: / 58 port: 9090 59 initialDelaySeconds: 30 60 timeoutSeconds: 30 61 tolerations: 62 - key: "CriticalAddonsOnly" 63 operator: "Exists" 64--- 65apiVersion: v1 66kind: Service 67metadata: 68 name: kubernetes-dashboard 69 namespace: kube-system 70 labels: 71 k8s-app: kubernetes-dashboard 72 kubernetes.io/cluster-service: "true" 73 addonmanager.kubernetes.io/mode: Reconcile 74spec: 75 selector: 76 k8s-app: kubernetes-dashboard 77 type: NodePort 78 ports: 79 - port: 9090 80 targetPort: 9090 81 nodePort: 32000
3.执行安装
$ kubectl create -f kubernetes-dashboard.yaml
查看pod运行状态
$ kubectl get pods,svc -n kube-system
1NAME READY STATUS RESTARTS AGE 2pod/coredns-8686dcc4fd-j9vgq 1/1 Running 31 4d8h 3pod/coredns-8686dcc4fd-vzsgs 1/1 Running 31 4d8h 4pod/etcd-k8s-master 1/1 Running 7 4d8h 5pod/kube-apiserver-k8s-master 1/1 Running 6 4d8h 6pod/kube-controller-manager-k8s-master 1/1 Running 7 4d8h 7pod/kube-flannel-ds-amd64-4mx58 1/1 Running 7 4d8h 8pod/kube-flannel-ds-amd64-887vr 1/1 Running 2 4d8h 9pod/kube-flannel-ds-amd64-rm9nz 1/1 Running 5 4d8h 10pod/kube-proxy-hdv89 1/1 Running 7 4d8h 11pod/kube-proxy-l2scz 1/1 Running 6 4d8h 12pod/kube-proxy-rqh8n 1/1 Running 3 4d8h 13pod/kube-scheduler-k8s-master 1/1 Running 6 4d8h 14pod/kubernetes-dashboard-795b8c5854-4dnf4 1/1 Running 2 3d5h 15 16NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE 17service/kubernetes-dashboard NodePort 10.1.165.28 <none> 9090:32000/TCP 3d5h
注意:这里查看到service端口为32000,因此我们访问时需要使用32000端口访问
4.进入ui界面
