一、获取yaml文件修改并执行

注意
如果下载不了,需要先编辑hosts文件 vim /etc/hosts
加入
151.101.76.133 raw.githubusercontent.com

[root@master ~]# wget  https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml
[root@master ~]# vim recommended.yaml
#找到并修改其提供的service资源
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 31001
  selector:
    k8s-app: kubernetes-dashboard
#因为默认情况下,service的类型是cluster IP,需更改为NodePort的方式,便于访问,也可映射到指定的端口
[root@master ~]# kubectl apply -f recommended.yaml 
[root@master ~]# kubectl get pod -n kubernetes-dashboard 
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-779f5454cb-68cb4   1/1     Running   0          88s
kubernetes-dashboard-857bb4c778-jrcfq         1/1     Running   0          88s
#确保该yaml文件提供的pod均正常运行
[root@master ~]# kubectl get svc -n kubernetes-dashboard 
NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.111.113.238  <none>        8000/TCP        89s
kubernetes-dashboard        NodePort    10.107.247.33   <none>        443:31001/TCP   89s
#查看service资源,也属正常状态,并且已经映射了我们指定的端口
二、客户端访问测试

之前版本的dashboard,必须使用火狐浏览器才可访问,本次使用的版本没有硬性要求,可以用谷歌访问。

  1. https://IP:31001(上图的端口);
  2. 访问的时候会被警告有风险,需要接受风险继续访问。
  3. 访问成功后会出现下图
    在这里插入图片描述
三、Token方式登录
[root@master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
#创建一个dashboard的管理用户
[root@master ~]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
#将创建的dashboard用户绑定为管理用户
[root@master ~]# kubectl get secrets -n kube-system | grep dashboard
#获取刚刚创建的用户对应的token名称
dashboard-admin-token-jh5cb                       kubernetes.io/service-account-token   3      70m
[root@master ~]# kubectl describe secrets -n kube-system dashboard-admin-token-jh5cb  
#查看token的详细信息

如图所示:
在这里插入图片描述
在Kubernetes仪表盘(上上图)选择Token,复制粘贴,登录即可。

四、Kubeconfig的方式方式登录

基于token的基础之上,进行以下操作:

[root@master ~]# kubectl get secrets -n kube-system | grep dashboard
#查看刚才创建的token
dashboard-admin-token-jh5cb                      kubernetes.io/service-account-token   3      75m
[root@master ~]# kubectl describe secrets -n kube-system dashboard-admin-token-jh5cb
#查看token的详细信息,会获取token
[root@master ~]# DASH_TOKEN=$(kubectl get secrets -n kube-system dashboard-admin-token-jh5cb -o jsonpath={.data.token} | base64 -d)
#将token的信息生成一个变量
[root@master ~]# kubectl config set-cluster kubernets --server=192.168.230.129:6443 --kubeconfig=/root/.dashboard-admin.conf
#将k8s集群的配置信息写入到一个文件中,文件可自定义
[root@master ~]# kubectl config set-credentials dashboard-admin --token=${DASH_TOKEN} --kubeconfig=/root/.dashboard-admin.conf
#将token的信息也写入到文件中(同一个文件)
[root@master ~]# kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/.dashboard-admin.conf
#将用户信息也写入文件中(同一个文件)
[root@master ~]# kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/.dashboard-admin.conf
#将上下文的配置信息也写入文件中(同一个文件)
[root@master ~]# sz /root/.dashboard-admin.conf
#最后将配置信息导入到客户端本地

在Kubernetes仪表盘(上上图)选择kubeconfig,选择导出的conf文件,登录即可。

五、效果展示

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐