kubernetes(安装dashboard)

https://blog.csdn.net/qq_22917163/article/details/84527420

1. 通过yaml文件安装dashboard

我们可以从https://github.com/kubernetes/dashboard/releases上边找到和自己安装的k8s相对于的dashboard的版本,这里我安装的是1.8.3的版本。

1.1 下载对应版本

[root@k8s-master ~]# wget https://github.com/kubernetes/dashboard/archive/v1.8.3.tar.gz
[root@k8s-master ~]# tar xf dashboard-1.8.3.tar
[root@k8s-master ~]# cd dashboard-1.8.2/src/deploy/recommended/

1.2 修改yaml文件中镜像地址

因为大家都知道的原因,yaml文件中的镜像地址无法被访问,因此无法拉下来我们需要的镜像,所以需要我们将镜像地址修改成可以访问到的(自行百度吧)。

1.3 修改yaml文件中service的type类型

官方的kubernetes-dashboard.yaml文件中service的type类型为clusterIp(service默认类型),这种方式要访问dashboard需要通过代理,所以我们改为NodePort方式,这样部署完后,就可以直接通过nodeIP:port的方式访问

1.4 部署

[root@k8s-master ~]# kubectl create -f kubernetes-dashboard.yaml
部署完成后,可以通过kubectl get svc,pod -n kube-system来查看是否部署成功

当部署成功后,我们就可以访问dashboar的图形界面了(使用任何一个节点的宿主机ip:port访问)

2 为dashboar配置访问权限

k8s 从1.6版本开始使用RBAC(有关基于角色的访问控制,请参考k8s文档), 所以我们需要给dashboard配置一个serviceAccount, 并给该serviceAccount附上权限(也就是和role进行绑定,因为我们是集群,所以执行的是clusterRoleBinding)

2.1 创建serviceAccount


我们创建一个叫dashboard-admin的serviceAccount用户

apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system

  

2.2 授权


进行权限绑定ClusterRoleBinding ,也就是授予权限, 我们把k8s内置的cluster-admin这个role(角色)赋给了dashboard-admin这个serviceAccount用户

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kube-system

2.3 获取用户token

[root@k8s-master ~]# kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep dasboard-admin | awk '{print $1}')

2.4登陆dashboard


到此,k8s的dashboard就安装完了,我们就可以愉快的通过图形界面进行操作了。

猜你喜欢

转载自www.cnblogs.com/linuxws/p/10657786.html
今日推荐