注意:以下的命令都是在kubernetes 1.15中执行的,如果是其他版本,不保证效果。
1、创建kubernetes-dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
如果发现该链接失效,请访问https://github.com/kubernetes/dashboard,然后查找最新的链接。
2、查看创建的服务和pod
3、重新一个可以供外网访问的Service
# cat kubernetes-dashboard.yaml
apiVersion: v1 kind: Service metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-system spec: clusterIP: 10.97.14.63 externalTrafficPolicy: Cluster ports: - nodePort: 30443 port: 443 protocol: TCP targetPort: 8443 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: NodePort status: loadBalancer: {}
在填写clusterIP时,一定要跟已经存在的kubernetes-dashboard服务的IP不同,也就是那个10.97.14.62,所以我改成了63.
4、创建一个ServiceAccount
apiVersion: v1 kind: ServiceAccount metadata: name: dashboard namespace: kube-system --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: dashboard subjects: - kind: ServiceAccount name: dashboard namespace: kube-system roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
我们需要使用该ServiceAccount的secret作为登录dashboard的凭证。
5、获取secret中的token
# kubectl describe secret dashboard -n kube-system
类似这样:
6、访问dashboard
浏览器输入:(请使用火狐浏览器,使用谷歌浏览器时不好使)
https://192.168.198.136:30443
首次访问时,会阻拦你,所以你需要继续访问,然后选择验证方式时,会有kubeconfig和令牌两种方式,我们选择令牌。
然后将第5步中获取的token填入,就可以访问了。