Rancher的Kubernetes dashboard安装部署

当我们通过Rancher安装完k8s后,发现Rancher并没有帮我们安装k8s的dashboard,虽然Rancher自己的管理控制台功能已经非常强大了。但对于想真正学习k8s的人,一定会去尝试再安装一个k8s的dashboard。本人在安装k8s dashboard的过程中踩了很多坑,这里总结出很简单的方式分享给大家。

环境

1.docker版本:1.13.1

2.kubernetes版本:v1.11.3-rancher1-1

3.k8s dashboard版本:v1.8.3

安装kubernetes-dashboard

1.下载官方的yaml文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

2.编辑yaml文件

    由于下载的yaml文件里的镜像在国内环境下并不能pull成功,所以我们需要将换成能正常pull的,也可以先docker pull到本地。

    这里推荐镜像:mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.8.3 。下面我们修改yaml文件的内容,

     只摘取部分内容如下,注意image被修改了

3.执行安装

kubectl create -f kubernetes-dashboard.yaml

4.检查k8s dashboard是否已成功运行

访问k8s dashboard

 1.查看本机的k8s的api server地址

2.获取上面已经创建的角色用户的token

命令:kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kubenetes-dashboard | awk '{print $1}')

   在输出结果里将token复制并保存下来

3.访问k8s dashboard

   通过上面的api server,整理访问地址为:https://192.168.20.161/k8s/clusters/c-ppfpt/api/v1/namespaces/kube- system/services/https:kubernetes-dashboard:/proxy/

  

我们选择令牌,并输入保存的token,点击登录

 发现登录成功了,但是看不到任何内容。原因:上面创建的用户权限不够。

 

解决方案

1.新建文件dashboard_service_account-admin.yaml

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

2.新建文件 dashboard_cluster_role_binding_admin.yaml

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

3.创建用户,及绑定角色

# Create Service Account
kubectl apply -f dashboard_service_account_admin.yaml

# Create Cluster Role Binding
kubectl apply -f dashboard_cluster_role_binding_admin.yaml

4.获取创建admin用户的token

命令:kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

在输出结果里将token复制并保存下来 

5.再次访问使用admin用户的token

可以发现,已经大功告成了。 

猜你喜欢

转载自blog.csdn.net/chinoukin/article/details/84372074