本文主要是介绍k8s 部署 Dashboard,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Dashboard 是官方提供的一个UI,可用于基本管理K8s资源。
# 在master节点执行#
wget \
https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml
vi recommended.yaml
增加 nodePort: 30001 和 type: NodePort
......
spec:ports:- port: 443targetPort: 8443nodePort: 30001selector:k8s-app: kubernetes-dashboardtype: NodePort
......kubectl apply -f recommended.yaml
kubectl get pods -n kubernetes-dashboard如果顺利,则可以访问 https://192.168.15.81:30001
界面提示需要输入 token,先不要输入,因为还没创建用户,接下去我们创建用户K8S有两种用户:User 和 Service Account,User 给人用,Service Account 给进程用,让进程有相关权限,Dashboard 是一个进程,我们就可以创建一个Service Account 给它# 创建service account并绑定默认cluster-admin管理员集群角色:
# 创建用户
kubectl create serviceaccount dashboard-admin -n kube-system
# 用户授权
kubectl create clusterrolebinding dashboard-admin-binding --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin# kubernetes v1.24.0 更新之后进行创建 ServiceAccount 不会自动生成 Secret 需要对其手动创建
cat<<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:name: dashboard-adminannotations:kubernetes.io/service-account.name: "dashboard-admin"namespace: kube-system
EOF
# 查看token是否正确生成
kubectl describe serviceaccounts dashboard-admin -n kube-system
如果顺利会出现下述输出
...
Tokens: dashboard-admin
...# 获取用户Token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')取得token后就可以使用token登录Dashboard了
https://192.168.15.81:30001
这篇关于k8s 部署 Dashboard的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!