Dashboard

资源交付

资源地址
https://gitee.com/crabluo/K8sFiles/tree/master/dashborad

资源交付
kubectl apply -f recommended.yaml
kubectl apply -f rbac.yaml
kubectl apply -f ing.yaml

地址解析
服务对应解析域名:dashboard.od.com

https配置
Dashboard默认走https方式访问,故要配置NG的https方式代理,配置文件:

  1. [root@master1 ~]# cat /etc/nginx/conf.d/dashboard.od.com.conf
  2. server {
  3. listen 80;
  4. server_name dashboard.od.com;
  5. rewrite ^(.*)$ https://${server_name}$1 permanent;
  6. }
  7. server {
  8. listen 443 ssl;
  9. server_name dashboard.od.com;
  10. ssl_certificate "certs/ca.crt";
  11. #ssl_certificate "certs/dashboard.od.com.crt";
  12. ssl_certificate_key "certs/ca.key";
  13. #ssl_certificate_key "certs/dashboard.od.com.key";
  14. ssl_session_cache shared:SSL:1m;
  15. ssl_session_timeout 10m;
  16. ssl_ciphers HIGH:!aNULL:!MD5;
  17. ssl_prefer_server_ciphers on;
  18. location / {
  19. proxy_pass http://default_backend_traefik;
  20. proxy_set_header Host $http_host;
  21. proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
  22. }
  23. }

说明:
正常情况要自制证书,这里将kubeadm创建集群时生成的默认证书copy过来改个名直接用,偷个懒。

验证重启
nginx -t
nginx -s reload

页面访问 https://dashboard.od.com
image.png

身份认证

登陆仪表盘有 Token 和 Kubeconfig 两种认证方式。

使用token登陆

查看dashboard-admin用户对应的secret
[root@master1 ~]# kubectl get secret -n kubernetes-dashboard |grep admin
dashboard-admin-token-kgz8v kubernetes.io/service-account-token 3 30d

说明:以下两种方式都能获取到登录token信息,取一即可!
方式一
#获取对应的信息并转译(执行命令后会得到一段长字符串,使用其即可登录Dashboard)
[root@master1 ~]# kubectl get secret dashboard-admin-token-kgz8v -o jsonpath={.data.token} -n kubernetes-dashboard|base64 -d

方式二
#直接查看对应的secret信息
[root@master1 ~]# kubectl describe secret dashboard-admin-token-kgz8v -n kubernetes-dashboard

使用kubeconfig登陆

使用kubeconfig登陆是基于授权用户对应的token信息配置生成kubeconfig文件,使用其文件登陆Dashboard。

DASH_TOCKEN=$(kubectl -n kubernetes-dashboard  get  secret dashboard-admin-token-kgz8v  -o jsonpath={.data.token} |base64 -d)

#设置kubeconfig文件中的一个集群条目
kubectl config set-cluster kubernetes --server=10.2.2.6:6443 --kubeconfig=/usr/local/src/dashbord-admin.conf

#设置kubeconfig文件中的一个用户条目
kubectl config set-credentials dashboard-admin --token=$DASH_TOCKEN --kubeconfig=/usr/local/src/dashbord-admin.conf

#设置kubeconfig文件中的一个上下文条目
kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/usr/local/src/dashbord-admin.conf

#设置kubeconfig文件中的当前上下文
kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/usr/local/src/dashbord-admin.conf

页面效果

地址解析
服务对应解析域名:dashboard.od.com

通过认证登陆后的页面:
image.png

Server Metrics

Metrics插件交付后,能在dashboard页面看到对应的资源占用信息显示图,同时也能在集群中执行 kubectl top 命令查看资源使用信息。

服务交付

资源清单地址
https://gitee.com/crabluo/K8sFiles/tree/master/metric-server

资源交付
kubectl apply -f .

效果展示

命令行效果

# kubectl top nodes
NAME      CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master1   536m         26%    2305Mi          62%       
master2   464m         23%    2390Mi          64%       
master3   436m         21%    1408Mi          38%       
node1     1562m        39%    2686Mi          34%       
node2     402m         10%    3168Mi          41%       
node3     1155m        28%    4645Mi          60%       
node4     438m         10%    4286Mi          55%

dashboard页面效果
image.png