k8s10_DashBoard

之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。

部署Dashboard

  1. 下载yaml,并运行Dashboard
# 下载yaml
[root@master ~]# wget  https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

# 修改kubernetes-dashboard的Service类型
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort  # 新增
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30009  # 新增
  selector:
    k8s-app: kubernetes-dashboard

# 部署
[root@master ~]# kubectl create -f recommended.yaml 

# 查看namespace下的kubernetes-dashboard下的资源
[root@master ~]# kubectl get pod,svc -n kubernetes-dashboard
NAME                                            READY   STATUS    RESTARTS   AGE
pod/dashboard-metrics-scraper-c79c65bb7-jnn9r   1/1     Running   0          56s
pod/kubernetes-dashboard-56484d4c5-cmr6k        1/1     Running   0          56s

NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.105.184.147   <none>        8000/TCP        56s
service/kubernetes-dashboard        NodePort    10.100.233.153   <none>        443:30009/TCP   56s

2)创建访问账户,获取token

# 创建账号
[root@master ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created

# 授权
[root@master ~]# kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin-rb created

# 获取账号token
[root@master ~]# kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin
dashboard-admin-token-8dqcj        kubernetes.io/service-account-token   3      71s

[root@master ~]# kubectl describe secrets dashboard-admin-token-8dqcj -n kubernetes-dashboard
Name:         dashboard-admin-token-8dqcj
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: e75476b4-7bbd-4263-bed6-ed3606aabae6

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IlkzTXhkb2JBUURvSl9HWS1LeE5oWDV1dDBaaEJZUlFzNHFNTVZseGU4N0kifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tOGRxY2oiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiZTc1NDc2YjQtN2JiZC00MjYzLWJlZDYtZWQzNjA2YWFiYWU2Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.jGBts2TzU4w1kTntZfvoY_7BcGy-NSjH06UFfAbSY8eBMQgDEiovoyvdXXnuw2yK4CFDywqcD8hjEbV3tHyCwv7zgr-qLo8gbO-UO0FcwESdum_D8d0IgLD5WNRm_OTf33DsxJ7J60t5d0We3JcA0VqgHZkBKhHsMQSPBLkqvClOn77pPcLy1h-p_tb6LVMg7xzYAnIlHDLbg-kdKco6DsEqTdGhjV1jng20rTCL1sqC_R2OcBJ5mDBvQqBgYOj-MVHS0avp_dZ7CQzhQq_tvYXKukBUmcdG-QyozI5kcUwqxvUKg3KCSKYY8OdcOmYDGSGL_8dT83ib2GtSCTbo_g
ca.crt:     1025 bytes
namespace:  20 bytes

注意:这里查询token的时候,使用到的dashboard-admin-token是自己查询到的,切不可强行复制。

3)通过浏览器访问Dashboard的UI

在登录页面上输入上面的token

出现下面的页面代表成功

使用DashBoard

本章节以Deployment为例演示DashBoard的使用

查看

选择指定的命名空间dev,然后点击Deployments,查看dev空间下的所有deployment

扩缩容

Deployment上点击规模,然后指定目标副本数量,点击确定

编辑

Deployment上点击编辑,然后修改yaml文件,点击确定

查看Pod

点击Pods, 查看pods列表

操作Pod

选中某个Pod,可以对其执行日志(logs)、进入执行(exec)、编辑、删除操作

Dashboard提供了kubectl的绝大部分功能,这里不再一一演示

posted @   yaowy  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示