前言
本篇主要记录一下博主怎么去搭建Dashboard的步骤,希望对大家有所帮助!
1.安装主要组件:
# 安装kubedns,默认已集成安装
#kubectl create -f /etc/ansible/manifests/kubedns
# 安装dashboard,默认已集成安装
#kubectl create -f /etc/ansible/manifests/dashboard
2.删除旧版本Dashboard1.6.3(如果之前安装过)
kubectl delete -f /etc/ansible/manifests/dashboard/1.6.3/
这里如果输入上边命令出错
则直接安装报错的命令 apt install kubectl
3.安装部署
# 部署dashboard 主yaml配置文件
$ kubectl apply -f /etc/ansible/manifests/dashboard/kubernetes-dashboard.yaml
# [可选]部署基本密码认证配置,使用apiserver 方式访问需要
$ kubectl apply -f /etc/ansible/manifests/dashboard/ui-admin-rbac.yaml
$ kubectl apply -f /etc/ansible/manifests/dashboard/ui-read-rbac.yaml
# 创建可读可写 admin Service Account
$ kubectl apply -f /etc/ansible/manifests/dashboard/admin-user-sa-rbac.yaml
# 创建只读 read Service Account
$ kubectl apply -f /etc/ansible/manifests/dashboard/read-user-sa-rbac.yaml
注:
建议上边命令全部执行!!!
4.验证
# 部署dashboard 主yaml配置文件
$ kubectl apply -f /etc/ansible/manifests/dashboard/kubernetes-dashboard.yaml
# [可选]部署基本密码认证配置,使用apiserver 方式访问需要
$ kubectl apply -f /etc/ansible/manifests/dashboard/ui-admin-rbac.yaml
$ kubectl apply -f /etc/ansible/manifests/dashboard/ui-read-rbac.yaml
# 创建可读可写 admin Service Account
$ kubectl apply -f /etc/ansible/manifests/dashboard/admin-user-sa-rbac.yaml
# 创建只读 read Service Account
$ kubectl apply -f /etc/ansible/manifests/dashboard/read-user-sa-rbac.yaml
注:
上边命令在deploy服务器里依次输入,会得到相应的结果,但是需要注意最后查看pod运行日志的时候直接输入上边查看pod运行日志的命令会失败,因为我们要指定相应的日志才能查看。
以上命令都可以正常执行以后,接下来进行访问控制设置
5.访问控制
关闭 apiserver非安全端口8080的外部访问--insecure-bind-address=127.0.0.1
关闭匿名认证--anonymous-auth=false
令牌登录
# 创建Service Account 和 ClusterRoleBinding
$ kubectl apply -f /etc/ansible/manifests/dashboard/read-user-sa-rbac.yaml
# 获取 Bearer Token,找到输出中 ‘token:’ 开头那一行
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep read-user | awk '{print $1}')
6.输入下边命令可以在网页查看集群服务
# 查看集群服务
kubectl cluster-info|grep dashboard
将下边网址全部复制粘贴到浏览器即可查看dashboard的登录界面,注意一定不要使用火狐浏览器,不支持!
7.登录方式(2种)
7.1令牌登录
当出现这个界面的时候,我们只需要在输入token即可,token 在服务器输入以下命令
# 创建Service Account 和 ClusterRoleBinding
$ kubectl apply -f /etc/ansible/manifests/dashboard/admin-user-sa-rbac.yaml
# 获取 Bearer Token,找到输出中 ‘token:’ 开头那一行
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
在我们输入第二条命令以后,我们即可看见token
然后将token后边的内容全部复制,粘贴到密码框即可完成登录!
7.2令牌登录(只读方式)
只读方式就是我们在登录的时候输入的不是方式8.1方式中的token而是输入一个配置文件
创建Service Account 和 ClusterRoleBinding
# 创建Service Account 和 ClusterRoleBinding
$ kubectl apply -f /etc/ansible/manifests/dashboard/admin-user-sa-rbac.yaml
# 获取 Bearer Token,找到输出中 ‘token:’ 开头那一行
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
上边的命令和8.1方式的命令相同,都是获得token,但是不同的是这次我们需要将token复制下来放入配置文件中
首先我们需要找到这个配置文件,配置文件的位置在
/root/.kube/config
接着我们将这个文件复制出来到/root根目录
输入命令
cp /root/.kube/config /root
这样我们就可以将文件成功复制出来
上边使用的是Xftp去查看的这个文件
接着我们使用文本编辑器打开,在配置文件的最后将我们的token粘贴进去
格式: token:你的token
然后将配置文件复制到桌面上,即可。
接着选择
选择配置文件,即可登录成功
注:
登录可能会出现提示一些错误,导致登录不上,这时候我们只要重新输入命令
创建Service Account 和 ClusterRoleBinding
$ kubectl apply -f /etc/ansible/manifests/dashboard/read-user-sa-rbac.yaml
# 获取 Bearer Token,找到输出中 ‘token:’ 开头那一行
$ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep read-user | awk '{print $1}')
并且重新复制token覆盖之前的touken文件即可解决错误,但是需要再次在文件中(下图标注的位置)添加一行命令
As-user-extra: {}
以上就是登陆hashboard的基本步骤,非常方便快捷,希望这篇文章对大家有所帮助,如果对本篇博客有问题,可以在评论去留言,我会及时回复大家!