Kubernetes Dashboard是什么?
Kubernetes Dashboard是Kubernetes集群的Web UI,用户可以通过Dashboard进行管理集群内所有资源对象,例如查看资源对象的运行情况,部署新的资源对象,伸缩Deployment中的Pod数量等等一系列操作。
如何安装 Kubernetes Dashboard
应用官方的DashBoard模板
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
检查Kubernetes Dashboard运行情况
Deployment已创建并处于运行状态kubectl get deployment -n kuberenetes-dashboard
Pod已创建并处于运行状态kubectl get pods -n kuberenetes-dashboard
修改DashBoard的Service端口暴露模式为NodePort
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30001
selector:
k8s-app: kubernetes-dashboard
创建Service Account 及 ClusterRoleBinding
vim auth.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
kubectl apply -f auth.yaml
获取访问 Kubernetes Dashboard所需的 Token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
访问DashBoard UI
浏览器访问https://NodeIP:Port,并输入Token
这个阶段,我们已经成功进入到Kubernetes DashBoard,可以通过UI查看到我们集群的一些资源运行情况
使用技巧
由于Kubernetes与DashBoard版本不是一一对应的,对于部署前需要提前确认版本之间的兼容性。
勾勾 表示 完全支持的版本范围。
问号 表示 由于Kubernetes API版本之间的重大更改,某些功能可能无法在仪表板中正常使用。