kuboard1.0标题logo修改

简介: kuboard是k8s多集群管理界面,属于一个可视化运维平台。但是kuboard并不开源,所以无法找到源码进行修改,重新编译。只能对docker镜像中的dist源码进行动手改造。对应的docker镜像

[]()kuboard可视化运维平台

kuboard是k8s多集群管理界面,属于一个可视化运维平台。但是kuboard并不开源,所以无法找到源码进行修改,重新编译。只能对docker镜像中的dist源码进行动手改造。

对应的docker镜像是:eipwork/kuboard:latest,实际版本是 v1.0.6.3

[]()1.环境准备

  • 找到kuboard运行的容器id。
docker ps

在这里插入图片描述

  • 进入到kuboard容器内部:
docker exec -it 54e6b2c2c785 /bin/bash
  • 找到dist目录
cd /usr/share/nginx/html

在这里插入图片描述

注:因为kuboard内部也是通过nginx反向代理,所以一般nginx默认的路径,就是/usr/share/nginx/html
  • nginx.conf

对应的配置文件如下:/etc/nginx/conf.d/nginx.80.conf

server {
    listen       80;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }

    location /k8s-api/ {
        proxy_pass https://10.96.0.1:443/;
        proxy_http_version 1.1;
        proxy_pass_header Authorization;
        gzip on;
        # proxy_ssl_certificate /apiserver/apiserver.crt;
        # proxy_ssl_certificate_key /apiserver/apiserver.key;
        location ~ "^/k8s-api/(.*)/watch/(.*)" {
                proxy_pass https://10.96.0.1:443/$1/watch/$2$is_args$args;
                proxy_http_version 1.1;
                proxy_pass_header Authorization;
                gzip off;
        }
    }

    location /k8s-ws/ {
        proxy_pass https://10.96.0.1:443/;
        proxy_http_version 1.1;
        proxy_pass_header Authorization;
        # proxy_ssl_certificate /apiserver/apiserver.crt;
        # proxy_ssl_certificate_key /apiserver/apiserver.key;
        proxy_set_header Upgrade "websocket";
        proxy_set_header Connection "upgrade";
    }

    location /oidc/ {
        resolver 127.0.0.1 valid=5s;
        proxy_pass http://localhost/;
        proxy_http_version 1.1;
        proxy_pass_header Authorization;
    }

    location ^~ /eip-monitor/ {
        location ~ "^/eip-monitor/namespace/(.*)/service/(.*)/port/(.*)/(.*)" {
            resolver 127.0.0.1 valid=5s;
            proxy_pass http://$2.$1.svc.cluster.local:$3/$4$is_args$args;
            gzip on;
        }
    }

    location ^~ /addons/ {
        location ~ "^/addons/namespace/(.*)/service/(.*)/port/(.*)/(.*)" {
            resolver 127.0.0.1 valid=5s;
            proxy_pass http://$2.$1.svc.cluster.local:$3/$4$is_args$args;
            gzip on;
        }
    }

    error_page   500 502 503 504  /50x.html;
    location /50x.html {
        root   /usr/share/nginx/html;
    }
}

[]()2.登录页面修改

找到对应的js文件,将图标替换,字眼替换。\
在这里插入图片描述

通过一些特殊的字眼,快速定位到对应的js文件 chunk-54fd4eb0.d2f699f9.js

直接修改kuboard容器中的文件即可。

vi /usr/share/nginx/html/js/chunk-54fd4eb0.d2f699f9.js

或者在win下修改后,替换到linux服务器也可以。

在这里插入图片描述

最终的效果如下:

在这里插入图片描述

修改图标,字眼等。

[]()3.首页页面修改

  • 添加一个图标,并修改Kuboard字眼

在这里插入图片描述

可以通过一些特殊的样式logo noselect进行定位到具体的js文件。

在这里插入图片描述\
在这里插入图片描述

通过一些特殊的字眼,快速定位到对应的js文件 chunk-d6576834.de99c4f4.js

例如,我们想添加一个图标,并修改Kuboard字眼。

在这里插入图片描述

  • .logo样式修改。

在这里插入图片描述

这里不能固定.logo的长度,否则字体长度不够

固定长度为65px,否则会出现以下情况:

在这里插入图片描述

  • .slot样式修改

在这里插入图片描述\
因为刚才.logo的宽度,变大了,所以这里要减少.slot的宽度,-420px改成-560px\
在这里插入图片描述

不减少右边的固定宽度,否则会出现以下情况:

在这里插入图片描述

[]()4.标题,ico图标修改

在这里插入图片描述

一般这些对应于index.html页面\
在这里插入图片描述

[]()5.替换更新说明

可以在自己win的电脑修改html,修改好后上传到服务器的/opt/tools/kuboard目录

  • 进入到kuboard目录
cd /opt/tools/kuboard
  • docker容器向本机传送文件:
docker cp c175252da699:/usr/share/nginx/html ./
  • 本机向docker容器传送文件:
docker cp ./ c175252da699:/usr/share/nginx/
总结:基于目前的修改方式,就我们就能对vue前端打包好的,dist目录进行代码的修改,来达成我们想要的效果,但是这只能修改一些小内容,大改的话,估计改动比较麻烦,够呛。

kuboard v1.0 版本,才存在这个问题。\
对于logo,标题的修改,在kuboard v2,v3版本,已经有功能进行编辑,我们可以拥抱v2,v3版本。

这是没有源码的方式的折中修改方式。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Java
BigDecimal类型的数据如何做绝对值和相除求百分比
BigDecimal类型的数据如何做绝对值和相除求百分比
390 3
|
存储 SQL 缓存
StarRocks常见面试问题(一)
StarRocks常见面试问题(一)
|
8月前
|
存储 Cloud Native 安全
API 安全之认证鉴权
API 作为企业的重要数字资源,在给企业带来巨大便利的同时也带来了新的安全问题,一旦被攻击可能导致数据泄漏重大安全问题,从而给企业的业务发展带来极大的安全风险。
CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度和高度
原文:CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度和高度 如图:   1.自动换行 111111111111111111111111 2.限制宽高度 11111111111111111111111111  (注意:如果div放在li中还需...
4087 0
|
5月前
|
人工智能 Java 开发工具
MCP Java 开发指南
MCP Java 开发指南
4023 43
MCP Java 开发指南
|
9月前
|
机器学习/深度学习 数据采集 人工智能
容器化机器学习流水线:构建可复用的AI工作流
本文介绍了如何构建容器化的机器学习流水线,以提高AI模型开发和部署的效率与可重复性。首先,我们探讨了机器学习流水线的概念及其优势,包括自动化任务、确保一致性、简化协作和实现CI/CD。接着,详细说明了使用Kubeflow Pipelines在Kubernetes上构建流水线的步骤,涵盖安装、定义流水线、构建组件镜像及上传运行。容器化流水线不仅提升了环境一致性和可移植性,还通过资源隔离和扩展性支持更大规模的数据处理。
|
消息中间件 NoSQL 关系型数据库
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
【Kubernetes部署Shardingsphere、Mycat、Mysql、Redis、中间件Rocketmq、Rabbitmq、Nacos】
503 0
|
存储 运维 监控
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
|
小程序 JavaScript Java
基于微信小程序的点餐系统小程序的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的点餐系统小程序的设计与实现(源码+lw+部署文档+讲解等)
200 0
|
Java 关系型数据库 MySQL
Activiti基础知识---学习笔记
Activiti基础知识---学习笔记
500 0

热门文章

最新文章