一、Dashboard简介
Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。
官方GitHub
官方下载地址 网盘下载地址
二、Dashboard部署安装
1、下载文件并执行,国内仓库下:
wget https://gitee.com/qinziteng/K8S/raw/master/YMAL/recommended.yaml
2、默认 Dashboard 只能在集群内部访问 添加Service 类型:
vim recommended.yaml
3、修改完成确认无误后执行文件
kubectl apply -f recommended.yaml
4、查看状态 默认在 kubernetes-dashboard 名称空间下:
kubectl get pods -n kubernetes-dashboard
5、查看Service暴露端口,我们使用这个端口进行访问:
kubectl get svc -n kubernetes-dashboard
6、访问页面
https://IP+SVCPort
三、配置Dashboard登入用户
1、通过Token令牌登入
1、创建一个 ClusterRoleBinding 对象,并赋予cluster-admin权限,即访问整个集群的权限,包括查看和修改所有资源的权限
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard
命令参数解析:
- create:创建资源的命令
- clusterrolebinding:资源类型,表示创建一个 ClusterRoleBinding 对象
- dashboard-cluster-admin:ClusterRoleBinding 对象的名称
- clusterrole=cluster-admin:指定要绑定的 ClusterRole,这里是 cluster-admin,即具有完全访问权限的 ClusterRole。
- serviceaccount=kubernetes-dashboard:kubernetes-dashboard:指定要绑定的 ServiceAccount,这里是 kubernetes-dashboard 命名空间下的 kubernetes-dashboard ServiceAccount
查看创建的secret
kubectl get secret -n kubernetes-dashboard
2、获取token信息:
kubectl describe secret $(kubectl get secret -n kubernetes-dashboard|grep kubernetes-dashboard-token*|awk '{print $1}') -n kubernetes-dashboard|egrep -w token:
查看token信息如下圈住信息:
3、将token信息复制到浏览器下面即可管理K8S集群了
2、通过kubeconfig文件登入
1、创建cluster集群
cd /etc/kubernetes/pki
kubectl config set-cluster kubernetes --certificate-authority=./ca.crt --server="https://16.32.15.201:6443" --embed-certs=true --kubeconfig=/root/dashboard-admin.conf
执行完成后会 /root/dashboard-admin.conf 生成文件
cat /root/dashboard-admin.conf
2、创建credentials
TOKEN=$(kubectl get secret $(kubectl get secret -n kubernetes-dashboard|grep kubernetes-dashboard-token*|awk '{print $1}') -n kubernetes-dashboard -o jsonpath={.data.token}|base64 -d)
kubectl config set-credentials dashboard-admin --token=$TOKEN --kubeconfig=/root/dashboard-admin.conf
3、创建context
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashboard-admin.conf
4、切换context的current-context是dashboard-admin@kubernetes
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashboard-admin.conf
5、把 /root/dashboard-admin.conf 这个文件下载到本地,之后上传到WEB页面登入即可
四、Dashboard创建容器
1、登入上dashboard后点击加号进行添加,如下图:
2、等待Pod全部启动后,查看Service映射端口
3、通过映射端口访问网页
五、扩展
如果是k8s1.24版本以上包括1.24版本创建是不会自动创建token,需要手动创建一下,如下配置:
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: admin
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: admin
namespace: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin
namespace: kubernetes-dashboard
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
执行一下:
kubectl apply -f admin.yml
创建token,将token复制到WEB页面即可。
kubectl create token admin --namespace kubernetes-dashboard
文章来源:https://www.toymoban.com/news/detail-431811.html
OK,至此结束!文章来源地址https://www.toymoban.com/news/detail-431811.html
到了这里,关于K8s图形化管理工具Dasboard部署及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!