Dashboard 是基于网页的 Kubernetes 用户界面。您可以使用 Dashboard 将容器应用部署到Kubernetes 集群中,也可以对容器应用排错,还能管理集群本身及其附属资源。您可以使用Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如Deployment,Job,DaemonSet 等等)。例如,可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。
github官网地址:https://github.com/kubernetes/dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
如果显示拒绝连接,可以修改/etc/hosts文件,加入一行
185.199.108.133 raw.githubusercontent.com
或者也可以在物理机上科学上网,先把yaml文件下载下来,再拖进虚拟机里。
不直接apply是因为,为了加速镜像下载,需要修改的部分为
image: kubernetesui/dashboard:v2.7.0
改成
image: registry.aliyuncs.com/google_containers/dashboard:v2.7.0
image: kubernetesui/metrics-scraper:v1.0.8
改成
image: registry.aliyuncs.com/google_containers/metrics-scraper:v1.0.8
recommended.yaml文件里有一部分是关于Service的,其中有一些配置需要修改。默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部访问。找到Services配置。在配置文件上边。增加type: NodePort和 nodePort: 30443端口
---
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: 30443 # 新增,指定访问端口
selector:
k8s-app: kubernetes-dashboard
---
修改完配置文件后就能进行安装了
kubectl apply -f recommended.yaml
安装完成后,可以查看服务
kubectl get svc -n kubernetes-dashboard
在火狐浏览器中通过<所在节点ip>:<端口>进行访问,且需要用https,其中端口就是在配置文件中新增的nodePort指定的端口
(1)建立sa(service account)
kubectl create sa dashboard-admin -n kube-system
其中dashboard-admin是用户名
(2)建立角色绑定关系
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
如果想删除用户的话
# 先解除绑定
kubectl delete clusterrolebinding dashboard-admin -n kube-system
# 然后删除
kubectl delete sa dashboard-admin -n kube-system
(3)生成token
kubectl create token dashboard-admin -n kube-system
通过这种方式创建的token是有有效期的,默认是1个小时,超时后需要重新创建。
复制该token到上面登录界面中即可。
相关用户命令
# 1.查询用户
kubectl get sa -n kube-system
# 2.用户详情
kubectl describe sa dashboard-admin -n kube-system