19.实践篇:终于不需要?敲命令了:Dashboard部署
19.实践篇:终于不需要?敲命令了:Dashboard部署
在 Kubernetes 社区中,有一个很受欢迎的Dashboard项目,它可以给用户提供一个可视化Web界面来查看当前集群的各种信息、应用我们的yaml文件。用户也可以用Kubernetes Dashboard监控应用的状态、执行故障排查任务以及管理Kubernetes的各种基础资源。
1.环境信息
组件 | 版本 |
---|---|
kubernetes | v1.16.3 |
dashboard | v2.0.0-beta5 |
对于其他版本的获取,以及详细的版本兼容性,你可以在dashboard官方项目中找到。
2.开始部署
学到这里,你现在应该已经掌握了不少的kubernetes 知识,并能看懂相关命令了。
本章节的理论知识较少,你只要看懂命令、操作就可以了。
让我们开始吧:
1) 创建证书
mkdir dashboard-certs cd dashboard-certs/ #创建名称空间 kubectl create namespace kubernetes-dashboard # 创建key文件 openssl genrsa -out dashboard.key 2048 #创建证书请求 openssl req -days 36000 -new -out dashboard.csr -key dashboard.key -subj '/CN=dashboard-cert' #自签证书 openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt #创建kubernetes-dashboard-certs对象,类型为generic kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard
2) 下载并修改recommended.yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml
#定义NodePort集群网络 便于我们直接访问 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: 30008 #增加 selector: k8s-app: kubernetes-dashboard --- #因为自动生成的证书很多浏览器无法使用,所以我们自己创建,注释掉kubernetes-dashboard-certs对象声明 #apiVersion: v1 #kind: Secret #metadata: # labels: # k8s-app: kubernetes-dashboard # name: kubernetes-dashboard-certs # namespace: kubernetes-dashboard #type: Opaque
3) 安装Dashboard
#安装 kubectl apply -f ~/recommended.yaml #检查结果 kubectl get pods -A -o wide kubectl get service -n kubernetes-dashboard -o wide
4) 创建Dashboard管理员账号dashboard-admin.yaml,并apply
apiVersion: v1 kind: ServiceAccount metadata: labels: k8s-app: kubernetes-dashboard name: dashboard-admin namespace: kubernetes-dashboard
5) 赋权dashboard-admin-bind-cluster-role.yaml,并apply
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: dashboard-admin-bind-cluster-role labels: k8s-app: kubernetes-dashboard roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: dashboard-admin namespace: kubernetes-dashboard
将dashboard-admin账号绑定至内建的集群级别的策略(cluster-admin)上
6) 复制token,并登录https://192.168.0.104:30008(换成你环境的ip即可)
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}')
7)此时,你应该可以看到类似下面的管理界面了:
@版权声明:51CTO独家出品,未经允许不能转载,否则追究法律责任
文章目录
关闭