部署 K8s 图形化管理工具 Dashboard
目录
一、Dashboard 概述
Kubernetes Dashboard是一个Web UI,用于管理Kubernetes集群中的应用程序和资源。它提供了一个可视化的界面,可以方便地查看和管理Kubernetes集群中的各种资源,如Pod、Deployment、Service、ConfigMap等。Dashboard还提供了一些高级功能,如日志查看、资源监控、命名空间管理等。
二、GitHub 地址
三、Dashboard 部署安装
1、选择兼容版本
由于之前升级 k8s 集群至 1.23.16 所以这里选择 Dashboard v2.5.1
2、下载配置文件
进入到master节点,下载dashboard对应版本的 recommended.yaml 文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
3、添加 Dashboard 的Service类型
指定 Service 的类型为
NodePort
指定 NodePort Service 在每个节点上使用的端口号 (30000-32767 )
vim recommended.yaml
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: dashboard-metrics-scraper
name: dashboard-metrics-scraper
namespace: kubernetes-dashboard
spec:
type: NodePort #添加
ports:
- port: 8000
targetPort: 8000
nodePort: 32111 #添加
selector:
k8s-app: dashboard-metrics-scraper
4、应用部署
kubectl apply -f recommended.yaml
5、查看 kubernetes-dashboard 命名空间下资源状态
kubectl get pods,svc -n kubernetes-dashboard
6、创建访问账户
1.24 版本前的操作
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
7、授权
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
8、获取账号token
获取 token 登录Dashboard
kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin
kubectl describe secrets dashboard-admin-token-qfz2z -n kubernetes-dashboard
9、1.24 版本以后的需要创建一个Pod
cat << EOF > pod1.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: pod1
name: pod1
namespace: kubernetes-dashboard
spec:
terminationGracePeriodSeconds: 0
serviceAccount: dashboard-admin
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: pod1
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
EOF
kubectl apply -f pod1.yaml
kubectl exec -it pod1 -n kubernetes-dashboard -- cat /run/secrets/kubernetes.io/serviceaccount/token
四、浏览器访问Dashboard
遇到显示 Your connection is not private 在页面空白处英文输入法输入
thisisunsafe