kuboard1.0标题logo修改

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 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版本。

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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
标题和段落标记
【8月更文挑战第22天】
44 3
|
4月前
|
人工智能 文字识别 Java
印刷文字识别使用问题之识别出的文字如何直接保存到Word文档中进行编辑
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
算法
「AIGC」readLink实现url识别pdf、网页标题和内容
AIGC算法实现服务,通过Express接收URL,识别内容类型:HTML使用Cheerio解析,PDF用`pdf-parse`。自定义函数提取标题和内容。示例代码展示了如何处理HTTP响应,提取HTML的`<title>`及PDF文本,并提供错误处理。服务器运行在端口3000。
47 0
html+css实战181-header-logo和导航
html+css实战181-header-logo和导航
153 0
html+css实战181-header-logo和导航
html+css实战108-新闻列表-标题
html+css实战108-新闻列表-标题
243 0
html+css实战108-新闻列表-标题
|
消息中间件 弹性计算 对象存储
取个响亮一点的标题
关于我使用阿里云ECS服务器的一些收获, Docker+Xshell+域名 == 懒(哈哈) 本人项目地址 欢迎各位访问 http://www.yunq.xyz:8008/sort/1/0 用户名 myroot 密码:myroot 如果有bug请不要联系我,我好累不想改。
347 0
|
弹性计算 Java 关系型数据库
标题
飞天加速计划·高校学生在家实践
【成功】从一列标题中进行高频词提取
从一列标题中进行高频词提取<br />数据源:从一列标题中进行高频词提取<br />数据大小:139 KB<br />字段数量:1<br />使用组件:写数据表,读数据表,增加序号列<br />
1331 0
|
搜索推荐 项目管理 UED
网站页面title标题的设置方法技巧
网站页面title标题的设置方法技巧
1107 0