• k8s-Kuboard国产页面管理


    k8s-Kuboard国产页面管理工具

    官方文档

    https://www.kuboard.cn/install/v3/install.html#kuboard-v3-x-%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
    
    • 1

    安装 Kuboard v2

    Kuboard v3 版本介绍

    • Kuboard v3.0 已经正式发布,相较于 Kuboard v2.0.x, Kuboard v3 最大的特点是支持多 Kubernetes 集群管理,同时,在各个方面都比 v2.0.x 有了很大的改进。 建议您选择 Kuboard v3
    • Kuboard v2.0.x 将进入长期维护阶段,如果碰到问题,用户仍然可以在群里找群主解决问题。如果您计划升级到 Kuboard v3,请参考 从 v2.0.x 升级到 v3.0.x

    如果您希望继续安装 Kuboard v2.0.x,请继续阅读本文后面的内容。

    前提

    安装 Kuboard 时,假设您已经有一个 Kubernetes 集群,以下任何形式安装的集群都可以:

    • kubeadm 安装(或者基于 kubeadm 的衍生工具,如 Sealos 等);
    • 二进制安装;
    • 阿里云、腾讯云等公有云托管集群;
    • 其他。

    如果没有 Kubernetes 集群:

    #兼容性

    Kubernetes 版本Kuboard 版本兼容性说明
    v1.20v2.0.x😄已验证
    v1.19v2.0.x😄已验证
    v1.18v1.0.x, v2.0.x😄已验证
    v1.17v1.0.x, v2.0.x😄已验证
    v1.16v1.0.x, v2.0.x😄已验证
    v1.15v1.0.x, v2.0.x😄已验证
    v1.14v1.0.x, v2.0.x😄已验证
    v1.13v1.0.x, v2.0.x😄已验证
    v1.12v1.0.x, v2.0.x😐Kubernetes Api v1.12 不支持 dryRun, Kuboard 不支持 Kubernetes v1.12
    v1.11v1.0.x, v2.0.x😐Kuboard 不支持 Kubernetes v1.11

    在线安装

    稳定版本,咱们采用离线安装的,在后面不着急
    kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
    kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
    
    • 1
    • 2
    查看 Kuboard 运行状态:
    kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
    
    
    • 1
    • 2
    输出结果如下所示:
    NAME                       READY   STATUS        RESTARTS   AGE
    kuboard-54c9c4f6cb-6lf88   1/1     Running       0          45s
    
    
    • 1
    • 2
    • 3

    获取Token

    您可以获得管理员用户、只读用户的Token。

    管理员用户

    拥有的权限
    • 此Token拥有 ClusterAdmin 的权限,可以执行所有操作

    执行命令

    # 如果您参考 www.kuboard.cn 提供的文档安装 Kuberenetes,可在第一个 Master 节点上执行此命令
    echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep ^kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
    
    • 1
    • 2

    输出

    取输出信息中 token 字段

    eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w
    
    • 1

    只读用户

    拥有的权限

    • view 可查看名称空间的内容

    • system:node 可查看节点信息

    • system:persistent-volume-provisioner 可查看存储类和存储卷声明的信息

      适用场景
      
      只读用户不能对集群的配置执行修改操作,非常适用于将开发环境中的 Kuboard 只读权限分发给开发者,以便开发者可以便捷地诊断问题
      
      • 1
      • 2
      • 3

      执行命令

      执行如下命令可以获得 只读用户 的 Token

    # 如果您参考 www.kuboard.cn 提供的文档安装 Kuberenetes,可在第一个 Master 节点上执行此命令
    echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep ^kuboard-viewer | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
    
    
    • 1
    • 2
    • 3

    输出

    取输出信息中 token 字段

    eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLWc4aHhiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI5NDhiYjVlNi04Y2RjLTExZTktYjY3ZS1mYTE2M2U1ZjdhMGYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.DZ6dMTr8GExo5IH_vCWdB_MDfQaNognjfZKl0E5VW8vUFMVvALwo0BS-6Qsqpfxrlz87oE9yGVCpBYV0D00811bLhHIg-IR_MiBneadcqdQ_TGm_a0Pz0RbIzqJlRPiyMSxk1eXhmayfPn01upPdVCQj6D3vAY77dpcGplu3p5wE6vsNWAvrQ2d_V1KhR03IB1jJZkYwrI8FHCq_5YuzkPfHsgZ9MBQgH-jqqNXs6r8aoUZIbLsYcMHkin2vzRsMy_tjMCI9yXGiOqI-E5efTb-_KbDVwV5cbdqEIegdtYZ2J3mlrFQlmPGYTwFI8Ba9LleSYbCi4o0k74568KcN_w
    
    
    • 1
    • 2

    访问Kuboard

    您可以通过NodePort、port-forward 两种方式当中的任意一种访问 Kuboard

    NodePort访问
    Kuboard Service 使用了 NodePort 的方式暴露服务,NodePort 为 32567;您可以按如下方式访问 Kuboard。
    
    http://任意一个Worker节点的IP地址:32567/
    
    • 1
    • 2
    • 3
    通过port-forward 访问

    在您的客户端电脑中执行如下命令

    kubectl port-forward service/kuboard 8080:80 -n kube-system
    
    • 1

    在浏览器打开链接 (请使用 kubectl 所在机器的IP地址)

    http://localhost:8080
    
    • 1

    安装 Kuboard v2(离线)-采用

    许多公司处于安全的考虑,需要将 Kuboard 离线安装到内网环境。本文描述了如何完成 Kuboard 的离线安装。请确保您已经熟悉了 安装Kuboard,本文只描述离线安装时,与正常安装的过程的差异部分

    准备Kuboard镜像

    在可以上网的机器上抓取 kuboard 镜像
    docker pull eipwork/kuboard:latest
    
    • 1

    image-20220826105200521

    查看 kuboard 镜像的 ID
    docker images | grep kuboard    
    
    • 1

    输出结果如下所示:

    eipwork/kuboard           latest                0146965e6475        3 weeks ago         133MB
    
    • 1

    将 Kuboard 镜像导出到文件

    docker save 86eaead8421e > kuboard.tar
    
    • 1

    ImageID

    请使用上一个步骤中查询到的 image ID

    • 将 kuboard.tar 传输到 Kubernetes 集群的某一个节点上

    加载Kuboard镜像

    在 Kubernetes 集群的某一个节点上执行
    docker load < kuboard.tar
    
    • 1
    为镜像重新添加标签
    docker tag 0146965e6475 eipwork/kuboard:latest
    
    • 1

    准备kuboard.yaml文件

    安装Kuboard的yaml文件如下,将其保存到 kuboard-offline.yaml

    必要的修改
    - 修改该文件中第 26 行的节点名称为上一个步骤中,已经加载了 kuboard 镜像的节点,参考 [将容器组调度到指定节点](https://www.kuboard.cn/learning/k8s-intermediate/config/assign-pod-node.html)
    
    
    - 与在线安装不同,此处 `ImagePullPolicy=IfNotPresent` (第30行),参考 [容器镜像](https://www.kuboard.cn/learning/k8s-intermediate/container/images.html#更新镜像)
    
    • 1
    • 2
    • 3
    • 4
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: kuboard
      namespace: kube-system
      annotations:
        k8s.kuboard.cn/displayName: kuboard
        k8s.kuboard.cn/ingress: "true"
        k8s.kuboard.cn/service: NodePort
        k8s.kuboard.cn/workload: kuboard
      labels:
        k8s.kuboard.cn/layer: monitor
        k8s.kuboard.cn/name: kuboard
    spec:
      replicas: 1
      selector:
        matchLabels:
          k8s.kuboard.cn/layer: monitor
          k8s.kuboard.cn/name: kuboard
      template:
        metadata:
          labels:
            k8s.kuboard.cn/layer: monitor
            k8s.kuboard.cn/name: kuboard
        spec:
          nodeName: your-node-name
          containers:
          - name: kuboard
            image: eipwork/kuboard:latest
            imagePullPolicy: IfNotPresent
          tolerations:
          - key: node-role.kubernetes.io/master
            effect: NoSchedule
    
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: kuboard
      namespace: kube-system
    spec:
      type: NodePort
      ports:
      - name: http
        port: 80
        targetPort: 80
        nodePort: 32567
      selector:
        k8s.kuboard.cn/layer: monitor
        k8s.kuboard.cn/name: kuboard
    
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: kuboard-user
      namespace: kube-system
    
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: kuboard-user
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - kind: ServiceAccount
      name: kuboard-user
      namespace: kube-system
    
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: kuboard-viewer
      namespace: kube-system
    
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: kuboard-viewer
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: view
    subjects:
    - kind: ServiceAccount
      name: kuboard-viewer
      namespace: kube-system
    
    # ---
    # apiVersion: extensions/v1beta1
    # kind: Ingress
    # metadata:
    #   name: kuboard
    #   namespace: kube-system
    #   annotations:
    #     k8s.kuboard.cn/displayName: kuboard
    #     k8s.kuboard.cn/workload: kuboard
    #     nginx.org/websocket-services: "kuboard"
    #     nginx.com/sticky-cookie-services: "serviceName=kuboard srv_id expires=1h path=/"
    # spec:
    #   rules:
    #   - host: kuboard.yourdomain.com
    #     http:
    #       paths:
    #       - path: /
    #         backend:
    #           serviceName: kuboard
    #           servicePort: http
    
    
    • 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
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    执行命令
    kubectl apply -f kuboard-offline.yaml
    
    • 1

    image-20220826135908257

    登陆

    image-20220826142527808

    创建命名空间

    image-20220826164012318

    页面展示

    image-20220829093845167

    创建一个应用

    选择副本Deployment—自定义副本

    image-20220829094052298

    创建应用

    image-20220829094552670

    创建工作负载

    image-20220829094642635

    应用完成查看服务

    image-20220829094706702

    查看容器

    image-20220829094739674

    删除服务,直接删除副本就可以拉
    image-20220829095459690

    由于咱们是v2版本操作单节点的集群,

    Kuboard v3.x 版本说明

    Kuboard v3.x 支持 Kubernetes 多集群管理。如果您从 Kuboard v1.0.x 或者 Kuboard v2.0.x 升级到 Kuboard,请注意:

    • 您可以同时使用 Kuboard v3.x 和 Kuboard v2.0.x;
    • Kuboard v3.x 支持 amd64 (x86) 架构和 arm68 (armv8) 架构的 CPU;

    兼容性

    Kubernetes 版本Kuboard 版本兼容性说明
    v1.23v3.x😄已验证
    v1.22v3.x😄已验证
    v1.21v3.x😄已验证
    v1.20v3.x😄已验证
    v1.19v3.x😄已验证
    v1.18v3.x😄已验证
    v1.17v3.x😄已验证
    v1.16v3.x😄已验证
    v1.15v3.x😄已验证
    v1.14v3.x😄已验证
    v1.13v3.x😄已验证
    v1.12v3.x😐Kubernetes Api v1.12 不支持 dryRun, Kuboard 不支持 Kubernetes v1.12
    v1.11v3.x😐Kuboard 不支持 Kubernetes v1.11

    安装方式

    基于如下原因,建议您以 docker run 的方式运行 Kuboard:

    • 结构更清晰(Kuboard 作为多个集群的管理界面应该独立于任何集群之外,虽然安装在 Kubernetes 集群中的 Kuboard 也可以管理多个集群);
    • 登录 Kuboard 时使用不同的认证方式;
    • 问题排查更简单;

    安装 Kuboard v3 - 内建用户库

    部署计划

    在正式安装 kuboard v3 之前,需做好一个简单的部署计划的设计,在本例中,各组件之间的连接方式,如下图所示:

    • 假设用户通过 http://外网IP:80 访问 Kuboard v3;
    • 安装在 Kubernetes 中的 Kuboard Agent 通过 内网IP 访问 Kuboard 的 Web 服务端口 80 和 Kuboard Agent Server 端口 10081。

    image-20220829104108906

    安装 Kuboard 之前,假设:

    • 您已经准备好了一个 Linux 服务器用于安装 Kuboard-V3,并且该机器上的 docker 版本不低于 19.03
    • 用于安装 Kuboard v3.x 的机器已经安装了 docker,并且版本不低于 docker 19.03
    • 您已经有自己的 Kubernetes 集群,并且版本不低于 Kubernetes v1.13

    安装

    安装 Kuboard v3.x 版本的指令如下:

    sudo docker run -d \
      --restart=unless-stopped \
      --name=kuboard \
      -p 80:80/tcp \
      -p 10081:10081/tcp \
      -e KUBOARD_ENDPOINT="http://192.168.2.216:80" \
      -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
      -v /root/kuboard-data:/data \
      eipwork/kuboard:v3
      # 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
      # 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
      # Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    采用 192.168.2.2.16机器安装

    image-20220829104227859

    WARNING
    
    KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
    KUBOARD_ENDPOINT 中也可以使用外网 IP;
    Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
    建议在 KUBOARD_ENDPOINT 中使用域名;
    如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,将不能正常运行;
    参数解释
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    参数解释
    参数解释
    
    建议将此命令保存为一个 shell 脚本,例如 start-kuboard.sh,后续升级 Kuboard 或恢复 Kuboard 时,需要通过此命令了解到最初安装 Kuboard 时所使用的参数;
    第 4 行,将 Kuboard Web 端口 80 映射到宿主机的 80 端口(您可以根据自己的情况选择宿主机的其他端口);
    第 5 行,将 Kuboard Agent Server 的端口 10081/tcp 映射到宿主机的 10081 端口(您可以根据自己的情况选择宿主机的其他端口);
    第 6 行,指定 KUBOARD_ENDPOINT 为 http://内网IP,如果后续修改此参数,需要将已导入的 Kubernetes 集群从 Kuboard 中删除,再重新导入;
    第 7 行,指定 KUBOARD_AGENT_SERVER 的端口为 10081,此参数与第 5 行中的宿主机端口应保持一致,修改此参数不会改变容器内监听的端口 10081,例如,如果第 5 行为 -p 30081:10081/tcp 则第 7 行应该修改为 -e KUBOARD_AGENT_SERVER_TCP_PORT="30081";
    第 8 行,将持久化数据 /data 目录映射到宿主机的 /root/kuboard-data 路径,请根据您自己的情况调整宿主机路径;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    其他参数
    在启动命令行中增加环境变量 `KUBOARD_ADMIN_DERAULT_PASSWORD`,可以设置 `admin` 用户的初始默认密码。
    
    • 1

    #访问 Kuboard v3.x

    在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:

    • 用户名: admin
    • 密 码: Kuboard123

    image-20220829104411578

    image-20220829104446885

    添加Kubernetes 集群到 Kuboard

    image-20220829104748603

    填写信息
    cat ~/.kube/config
    
    • 1

    image-20220829105200381

    复制内容过来

    image-20220829105124013

    集群概要

    image-20220829105444322

    为单点登录的用户/用户组授权

    当您配置 Kuboard 与 gitlab / github / ldap 实现单点登录以后,Kuboard 并不管理用户基本信息、用户组信息、用户与用户组之间的映射信息,这些信息需要您在 gitlab / github/ ldap 中管理和配置。

    默认情况下,只有 KUBOARD_ROOT_USER 参数指定的用户可以执行 Kuboard 中的所有操作,其他用户通过单点登录进入 Kuboard 系统后,除了退出系统,几乎什么事情也做不了。为了让单点登录的用户获得合适的权限,您需要在 Kuboard 中为对应的用户/用户组授权。下面描述了为指定用户授权的操作步骤:

    为用户添加角色绑定

    如下图所示,导航到 用户 列表菜单,点击 为用户添加角色绑定 按钮

    image-20220829162151176

    创建用户

    image-20220829162556952

    在图中的弹出对话框输入单点登录用户系统中的用户名,点击确定。

    创建用户组

    image-20220829162706476

    添加用户到用户组

    image-20220829162747480

    绑定角色

    image-20220829163423055

    设置关联集群

    image-20220829163455492

    自定义Kuboard名称空间布局

    Kuboard 名称空间界面中,以微服务分层架构的形式对工作负载进行分类展示,默认布局模式如下图所示:

    image-20220829163617950

    自定义布局

    自 Kuboard v1.0.7-beta.5 开始,允许用户自定义名称空间的布局。本章节描述了如何配置自定义布局的参数。

    • 在 Kuboard 界面中,导航到 kube-system 名称空间;

    • 创建 ConfigMap

      点击名称空间左侧 配置 标题后面的 创建 按钮,可以创建 ConfigMap。

      在名称空间 kube-system 中创建一个名为 kuboard-namespace-layout 的 ConfigMap,并在其中添加一个 Key 为 kuboard-namespace-layout.yaml ,Value 为如下 yaml 内容的配置数据条目,如图所示:

    image-20220829163653940

    yaml 文件内容为:

    version: "0.1"
    
    layers:
      frontend:
        name: 前端
        color: "blue"
      backend:
        name: 后端
        color: "rgba(0,120,246)"
      db:
        name: 数据库
        color: "#3EAF7C"
      midware:
        name: 中间件
        color: "#003366"
        direction: vertical-right
        width: 180
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    yaml 文件中,各字段的描述如下

    Layer ID
    
    layers 下每一个字段代表一个分层的 id。例如,此配置文件中定义了 4 个分层:frontend、backend、db、midware。对于每个分层,可以配置的参数见下表:
    
    • 1
    • 2
    • 3
    字段名字段类型必填字段描述
    nameString分层的名称,显示在界面上
    colorString分层中工作负载对象的主题色,可以使用 rgba 编码、颜色名称颜色编码等 html 支持的形式;
    directionString如果不填写,则该分层按 yaml 中出现的顺序自上而下显示在中间。如果填写,必须从下面两个取值当中选择:vertical-right:垂直显示在右侧vertical-left: 垂直显示在左侧
    widthNumber条件如果填写了 direction 字段,则此字段为必填; 该字段标识了垂直显示时,该区块的宽度,单位为像素 px
    挂载 ConfigMap 到 Kuboard 容器
    • kube-system 名称空间中,导航到 kuboard 工作负载页面;

    • kuboard 工作负载页面,点击 编辑 按钮,进入工作负载编辑页面;

    • 在工作负载编辑页面,增加数据卷

      kuboard 增加一个数据卷,字段描述及截图如下

    字段名称字段取值字段描述
    数据卷名称kuboard-namespace-layout-volume数据卷名称,在该工作负载内可用
    数据卷类型configMap选择 configMap 类型的数据卷
    ConfigMap名称kuboard-namespace-layout选择前一个步骤中创建的 kuboard-namespace-layout 这个 ConfigMap

    image-20220829173008661

    在工作负载编辑页面,挂载配置文件到 kuboard 容器

    仍然在工作负载编辑页面,将 ConfigMap 中的配置内容挂载到 kuboard 容器,字段描述及截图如下

    字段名称字段取值字段描述
    镜像eipwork/kuboard:v1.0.7-beta.5Kuboard 版本不能低于 v1.0.7-beta.5
    挂载点:容器内路径/usr/share/nginx/html/kuboard-namespace-layout.yaml替换容器中该路径中的配置文件
    挂载点:数据卷名称kuboard-namespace-layout-volume选择前一个步骤中添加的数据卷
    挂载点:数据卷内子路径kuboard-namespace-layout.yaml此字段取值为 configMap 中,对应配置条目的名称

    上述配置可以将 configMap 中 kuboard-namspace-layout.yaml 的内容映射为容器内路径为 /usr/share/nginx/html/kuboard-namespace-layout.yaml 的一个文件

    image-20220829173057079

      • 保存对 kuboard 工作负载的修改
    • 刷新 Kuboard 界面

      刷新 Kuboard 界面后,可以看到,名称空间的布局被调整为如下形式:

      • 省略了左侧的 监控层
      • 中间三层被调整为 前端后端数据库
      • 右侧名称仍然为 中间件 ,但是标识已经从 cloud 调整为 midware,所以原本在此处的 服务注册 工作负载现在显示在 默认 分层中。

    image-20220829173114978

    调整工作负载所在分层

    如果您在使用 Kuboard 之前,就已经创建了许多的工作负载,然后您安装了 Kuboard,此时,所有的工作负载都是显示在 默认 这个分层的。

    Kuboard 通过工作负载(Deployment / StatefulSet / DaemonSet 等)的 k8s.eip.work/layer 这个标签来识别工作负载应该显示在哪个分层。

    如果您想要将工作负载调整到对应的分层,可以按照如下步骤操作:

    • 进入工作负载查看页面,如下图所示:

    image-20220829173136869

    点击上图中 调整所在分层 按钮,将打开编辑标签的界面:

    编辑 k8s.eip.work/layer ,并选择您想要的分层后,点击 确定 按钮。

    image-20220829173155089

    • 保存对 kuboard 工作负载的修改

    • 刷新 Kuboard 界面

      刷新 Kuboard 界面后,可以看到,名称空间的布局被调整为如下形式:

      • 省略了左侧的 监控层
      • 中间三层被调整为 前端后端数据库
      • 右侧名称仍然为 中间件 ,但是标识已经从 cloud 调整为 midware,所以原本在此处的 服务注册 工作负载现在显示在 默认 分层中。

    [外链图片转存中…(img-Ig0RNtX2-1661768183089)]

    调整工作负载所在分层

    如果您在使用 Kuboard 之前,就已经创建了许多的工作负载,然后您安装了 Kuboard,此时,所有的工作负载都是显示在 默认 这个分层的。

    Kuboard 通过工作负载(Deployment / StatefulSet / DaemonSet 等)的 k8s.eip.work/layer 这个标签来识别工作负载应该显示在哪个分层。

    如果您想要将工作负载调整到对应的分层,可以按照如下步骤操作:

    • 进入工作负载查看页面,如下图所示:

    [外链图片转存中…(img-sugZt8Du-1661768183089)]

    点击上图中 调整所在分层 按钮,将打开编辑标签的界面:

    编辑 k8s.eip.work/layer ,并选择您想要的分层后,点击 确定 按钮。

    [外链图片转存中…(img-FDcxfxjw-1661768183089)]

  • 相关阅读:
    ssm+vue的毕业生跟踪调查反馈管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。
    java 生成 pdf,支持中文显示
    「MacOS」Swift 第三章:字符串和字符
    macOS - mdls, mdfind, mdutil, xargs 命令使用
    如何提取视频中的音频转为mp3
    Leetcode113.路径总和II Path Sum II - Python 递归法
    Find the Maximum - 题解【思维,贪心】
    大数据-hadoop环境安装(集群)
    单独修改组件库样式/样式穿透/深度选择器
    python爬虫实战——小说爬取
  • 原文地址:https://blog.csdn.net/tianmingqing0806/article/details/126590119