• k8s之图形界面DashBoard【九】


    镇场


    在这里插入图片描述


    9. DashBoard

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

    9.1 部署Dashboard

    1. 下载yaml,并运行Dashboard
    # 下载yaml
    [root@k8s-master ~]# mkdir dashboard
    [root@k8s-master ~]# cd dashboard/
    [root@k8s-master dashboard]# ls
    [root@k8s-master dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
    [root@k8s-master dashboard]# ls
    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@k8s-master dashboard]# pwd
    /root/dashboard
    [root@k8s-master dashboard]# kubectl apply -f recommended.yaml 
    namespace/kubernetes-dashboard created
    serviceaccount/kubernetes-dashboard created
    service/kubernetes-dashboard created
    secret/kubernetes-dashboard-certs created
    secret/kubernetes-dashboard-csrf created
    secret/kubernetes-dashboard-key-holder created
    configmap/kubernetes-dashboard-settings created
    role.rbac.authorization.k8s.io/kubernetes-dashboard created
    clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
    rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
    clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
    deployment.apps/kubernetes-dashboard created
    service/dashboard-metrics-scraper created
    deployment.apps/dashboard-metrics-scraper created
    
    [root@k8s-master ~]# kubectl get ns
    NAME                   STATUS   AGE
    default                Active   27d
    kube-flannel           Active   27d
    kube-node-lease        Active   27d
    kube-public            Active   27d
    kube-system            Active   27d
    kubernetes-dashboard   Active   53s  # 创建了namespace
    
    # 查看namespace下的kubernetes-dashboard下的资源
    [root@k8s-master ~]# kubectl get pod,svc -n kubernetes-dashboard
    NAME                                             READY   STATUS    RESTARTS   AGE
    pod/dashboard-metrics-scraper-5657497c4c-srlqd   1/1     Running   0          83s
    pod/kubernetes-dashboard-78f87ddfc-mmxpt         1/1     Running   0          83s
    
    NAME                                TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
    service/dashboard-metrics-scraper   ClusterIP   10.110.144.31   <none>        8000/TCP        83s
    service/kubernetes-dashboard        NodePort    10.106.32.91    <none>        443:30009/TCP   83s
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62

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

    [root@k8s-master ~]# cd dashboard/
    [root@k8s-master dashboard]# vi serviceaccount-admin-user.yaml
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: admin-user       # 创建账号
      namespace: kubernetes-dashboard
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding   # 授权
    metadata:
      name: admin-user   
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: admin-user
      namespace: kubernetes-dashboard
    [root@k8s-master dashboard]# kubectl apply -f serviceaccount-admin-user.yaml 
    serviceaccount/admin-user created
    clusterrolebinding.rbac.authorization.k8s.io/admin-user created
    
    
    # 获取账号token
    [root@k8s-master dashboard]# kubectl -n kubernetes-dashboard create token admin-user
    eyJhbGciOiJSUzI1NiIsImtpZCI6IjJ2OGY3aGtNYkR0ZEZBZi1PZHBpNTU0TUF4TXV6RW5CanE4U3RUa2xYNjgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzA0Njg3ODAyLCJpYXQiOjE3MDQ2ODQyMDIsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiNDY4YWE0OGEtZmI3NC00MGE5LWI3YTAtM2I2ZTIyNDJhZGUwIn19LCJuYmYiOjE3MDQ2ODQyMDIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlcm5ldGVzLWRhc2hib2FyZDphZG1pbi11c2VyIn0.Va4LcUxpaLMKzS_ItOqrHjnEin8iu0q1vGY831StGXmDCM-MuF4YBt2V1dpSitkbLSUsYZNVzpvCLmIgdPstBdPV7jW0VMwffwIsPI_8MVuUc6vnJP2_soqMyS_ZxVkb3gogSGAL6QzAcbPpXirIbHHtLutQnLSfXOa9j_Lpu85ANJFXEFV0kwSLI_DC9dlYu8-pQmPC8e706kjUGfVDnHGg-KmnvV9cuNHxFoe06uUd9IcSJdGIKpx7wZu--O0IAQ6Cq_MRS8enYf6jN83OJ2xiD33KZQ9YCrpUCQFNMGX7diK4Wbx5s1aFZiPSs8hfeDXMzRT24jQYyp6FTzYgMw
    [root@k8s-master dashboard]# 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

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

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

    在这里插入图片描述

    出现下面的页面代表成功

    在这里插入图片描述

    9.2 使用DashBoard

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

    查看

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

    在这里插入图片描述

    扩缩容

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

    在这里插入图片描述

    编辑

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

    在这里插入图片描述

    查看Pod

    点击Pods, 查看pods列表

    在这里插入图片描述

    操作Pod

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

    在这里插入图片描述

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

  • 相关阅读:
    redis21道经典面试题,极限拉扯面试官
    ElasticSearch从入门到精通:Logstash妙用
    对象中的字段隐藏
    浅谈如何向上管理
    大疆无人机航点飞行KMZ文件提取航点坐标
    Java的CAS操作
    FPGA project :HDMI
    c高级day1(9.6) 离线软件安装,文件相关指令,文件权限相关指令,
    原辅料采购进厂----药品生产管理系统之化药原辅料
    京东JAVA面试心得与面试题详解
  • 原文地址:https://blog.csdn.net/m0_58805648/article/details/136760341