1、环境介绍
k8s版本 :1.22.0
k8s-dashboard版本:2.6.0
2、部署dashboard
下载dashboard文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml
将recommended.yaml文件中Service类型修改为NodePort类型,方便后面的访问
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
nodePort: 30000
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
部署dashboard
kubectl apply -f recommended.yaml
3、创建账户
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
4、账号授权
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
5、获取dashboard-admin账号token
kubectl describe secret -n kubernetes-dashboard `kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin | awk '{print $1}'`
说明:如果使用的k8s版本为1.24.0以上,则获取token的方式有所不同
需要使用TokenRequest API获取token
使用kubectl 开启代理并且设置代理端口为8000
kubectl proxy --port=8000
获取token
curl 'http://127.0.0.1:8000/api/v1/namespaces/kubernetes-dashboard/serviceaccounts/dashboard-admin/token' -H "Content-Type:application/json" -X POST -d '{}'
6、登录dashboard
通过https://IP+PORT方式来访问
评论区