之前在k8s中完成的所有操作都是通过命令行工具kubectl完成的。为了提供更丰富的用户体验,k8s还开发了一个基于web的用户界面。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。
1. 部署Dashboard
- 下载yaml,并运行Dashboard
# 下载yaml
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
# 修改kubernetes-dashboard的Service类型
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: 30009 # 新增
selector:
k8s-app: kubernetes-dashboard
部署并查看
2. 创建账户并授权
# 创建账号
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
# 授权
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
- 获取账户token
- 通过浏览器访问Dashboard的UI
在登录页面上输入上面的token
出现下面的页面代表成功
2. 使用DashBoard
本章节以Deployment为例演示DashBoard的使用
查看
选择指定的命名空间dev,然后点击Deployments,查看dev空间下的所有deployment
扩缩容
在Deployment上点击规模,然后指定目标副本数量,点击确定
编辑
在Deployment上点击编辑,然后修改yaml文件,点击确定
查看Pod
点击Pods, 查看pods列表
操作Pod
选中某个Pod,可以对其执行日志(logs)、进入执行(exec)、编辑、删除操作
Dashboard提供了kubectl的绝大部分功能,这里不再一一演示