- 博客(1098)
- 资源 (16)
- 收藏
- 关注
原创 记录一下本地部署Dify的坑
1. 截止2025-3-4为止,请注意,不要直接拉Dify的1.0.0版本。请先试用0.15.3版本。1.0.0有一个bug需要解决。3. 请使用docker-ce 新版本,docker-engine等老版本可能会有部分容器启动脚本执行莫名报错。2. 注意,请使用docker-compose V2版本,或者V1较高版本,否则会导致解析官方yml模板错误。
2025-03-04 16:24:08
2783
转载 Kuboard ETCD满了根治方法
大家有没有使用过 Kuboard(Kubernetes 多集群管理界面,官网地址:https://kuboard.cn),如果有使用过的同学可能会遇到ETCD存储不足的问题,因为官网提供的docker镜像中,ETCD启动参数并没有添加 --auto-compaction-retention 和 --quota-backend-bytes 参数。原文链接:https://blog.youkuaiyun.com/qq_24794401/article/details/127626324。# 再次查看ETCD存储使用情况。
2025-01-16 11:10:26
164
转载 故障处理--kuboard无法访问,etcd磁盘空间不足
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。磁盘空间不足,etcd默认的空间配额限制为2G,超出空间配额限制就会影响服务,需要定期清理。清理完成后,DB SIZE也不一定会这么低,我这里清理完成1.3g,但是可以使用了。注意,这里30s也不一定够用,根据具体情况可以继续扩大,我这里花了300s。entrypoint.sh,发现没有设置etcd磁盘大小,默认为2G。1、查看kuboard信息,找到kuboard-data的位置。
2025-01-16 11:04:56
200
原创 K8s集群部署PowerJob高可用脚本
官方仅提供了jar包部署和docker部署方案,未提供k8s集群部署方案,这里分享下自己整理的k8s集群部署方案。PowerJob是worker主动注册到server的方案,所以不想zookeeper这样还需要选主。这里只需要部署一个三节点组件就可以了。考虑到属于中间件组件,这里选用了StatefulSet部署,基于headless提供集群内访问。
2025-01-15 10:39:09
257
原创 MQTT实现集群分布式消费
通过在订阅主题前添加 “$share//” 的形式来标识共享订阅组,其中为共享订阅组的名称,为实际的订阅主题。当消息发布到该主题时,MQTT broker 会根据一定的算法将消息分配到不同的订阅者,实现负载均衡。
2024-12-18 15:02:31
1342
转载 如何为开放平台设计一个安全好用的OpenApi
在提到对于开放接口的安全设计时,一定少不了对于摘要算法的应用(MD5算法是其实现方式之一),在接口设计方面它可以帮助我们完成数据签名的功能,也就是说用来防止请求或者返回的数据被他人篡改。本节我们单从安全的角度出发,看看到底哪些场景下的需求可以借助MD5的方式来实现。其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。
2024-11-08 09:03:24
136
原创 使用ubuntu On windows安装docker
最近需要做一下springcloud研发,不想装一堆中间件在本地,想跑一下docker,docker desktop不太好用,想直接跑linux虚拟机,有不响装vmware,就像试用下unbuntu On windows。据说可以直接用cmd命令行跑。方法如下:1. 打开windows应用商店。2. 搜索unbuntu并安装一个版本,我这里装了24.04.1最新版。3. 启动unbuntu on windows,会弹出一个cmd窗口,其实是连接了windows内置wsl的ubuntu系统。
2024-10-30 10:14:53
493
原创 记录一个容器间访问不通问题
容器访问需要宿主机转发,k8s集群一般都关掉了firewalld,但是docker-compose需要开启firewalld和iptables,否则端口路由会创建失败。systemctl restart docker //重启docker,重要:不重启不生效。各种折腾,后来想,应该是通过宿主机转发策略问题。docker-compose装了zookeeper和一个服务。4. 其他容器,通过宿主机ip 2181 不通。怀疑是需要删除所有重启重建,时间关系不再测试了。宿主机放通了2181端口,果然可以使用了。
2024-10-28 16:39:30
250
原创 记录一个docker volume映射目录创建文件报错问题
入图,Dockerfile中指定了user 1001。这也是为了收缩容器权限,为了数据安全。发现使用volume映射目录后,初始化时创建文件报错导致容器启动失败问题。这个需要手动将映射的目录赋权,而且要看容器使用的那个用户组。所以如果1001没有目录权限,会导致创建目录错误。最近用docker-compse做中间件部署。这里用bitnami/mysql的镜像演示。先找到对应的镜像的Dockerfile。然后重启容器就可以了。提示是没有访问权限。
2024-10-25 15:08:29
500
原创 记录一个Docker安装mysql无法外部访问处理过程
尝试使用 telnet 127.0.0.1 3306可以通,telnet 主机IP 3306不通。所以容器端口映射,仅创建了tcp6的端口,没有tcp的端口。然后安装docker后,docker默认使用ipv6构建docker0网络。该方法同样可以解决redis等其他中间件问题。查了下资料发现,现在的很多新版本系统,都是默认ipv6网络优先。结果发现mysql等中间件无法通过主机ip访问。然后再telnet 主机IP 3306就可以了。使用docker-compse安装了一套系统。经过各种折腾,发现问题。
2024-10-25 14:58:33
456
原创 nvm切换国内镜像源
现在封锁越来越严重了,突然发现nvm居然连不上nodejs.org了?好无语,程序猿好难。看来以后什么源都需要准备一个私服了。这里需要修改国内镜像源。
2024-09-23 10:08:08
2328
转载 终极 Nginx 配置指南
对于自己上线项目的前端来说,nginx也是必须要了解和熟悉的,查了很多的nginx文章,看着写的都很详细,但是却没有了整体的概念。这里就重新梳理一遍,也理清思路。我们在安装nginx之后,会自动生成很多的文件,但是nginx.conf这个文件是我们的核心,如何去正确的修改和优化它是nginx的核心。首先我们可以先看下原本的配置,你会觉得无所适从,因为感觉这个鬼东西也太多了吧。而且感觉根本就不理解,也不知道该怎么写。下面,就一步一步的教你如何入门到熟悉。
2024-09-12 08:40:25
390
原创 Skywalking9部署的问题
2. es8部署的时候,默认是配置了安全选项的,需要把安全配置关掉,或者修改skywalking的配置文件,设置相关配置。3. skywalking9版本的ui界面有巨大调整,这个不如原来8版本使用方便。整合了很多外部服务的东西。1. skywalking9需要使用es8。不支持es7,这里要注意,需要修改es版本。这里偷懒,直接关了es8的安全设置。
2024-07-31 16:23:38
1131
原创 提供一个下载国外DockerHub镜像的办法
直接用他提供的连接,docker pull public.ecr.aws/a8c8b9j3/apache/skywalking-oap-server:9.3.0 就可以。比如阿里云加速器的镜像库,skywalking-oap的最新版本也只有8.9,有时候不满足业务需要。1. 搞一个国外的服务器,上去做个镜像库代理或者docker pull下来,推到国内自己的库里都行。由于众所周知的一些问题,国内现在下载国外的镜像比较难。不过毕竟国外代理过来,速度有点慢,要耐心等一下,或者多试两次。就可以正常拉取镜像了。
2024-07-31 14:09:19
2895
原创 记录一个k8s集群zookeeper部署过程
由于网管中心交维要求必须是支持高可用配置,原先单节点的zookeeper不被允许。所以在k8s集群中做了一个高可用版本的zookeeper。然后利用zk官方的3.8的docker镜像,调整了一下核心的启动配置脚本,重新打包了一个镜像。期间有点小波折,官方给的镜像版本太老,业务不支持,所以手动做了下处理,重新打了一个镜像。但是很遗憾,官方镜像太长时间没有维护了,而且国内还不太容易获取到。这个镜像最初是参考了k8s.io的官方的zookeeper镜像。目前使用暂时未发现问题,这里分享出来,便于大家使用。
2024-07-29 14:40:12
311
原创 DockerFile打包镜像运行调试小技巧
docker run 镜像名称 /bin/bash的方式,先让镜像启动起来,直接进到内部去看一下路径啊,环境变量等各种信息,了解容器实际配置后,可以针对性修改Dockerfile。Devops流水线上打包了Docker镜像,启动的时候报错,不好排查哪的问题。这时候只看Dockerfile可能得一遍遍尝试,这里有个小技巧。
2024-07-04 15:37:45
237
1
原创 记录一个apisix修改后台接口超时时间的方法
垃圾程序猿搞了个数据导入,解析校验比较复杂,1000条就要70秒。apisix默认60s超时,导致提交导入功能总是失败。然后到集群去kubectl apply -f 执行以下这个yaml。非要先调整超时时间。后面要求他改异步处理。
2024-06-12 15:39:36
793
转载 GB/T 28181-2022《公共安全视频监控联网系统信息传输、交换、控制技术要求》解读
在一些涉及隐私的应用中,可以对部分敏感信息区域进行遮挡。设备升级命令通过会话通道进行,消息Body的XML元素是Control,子元素CmdType固定取值为DeviceControl,通过DeviceUpgrade元素描述升级包路径、升级SessionID等信息,设备收到命令后,获取升级包进行升级,升级成功后发送升级结果通知,消息Body的XML元素是Notify,子元素CmdType固定取值DeviceUpgradeResult,通过SessionID、UpgradeResult等子元素描述升级结果。
2024-06-03 17:56:56
1505
原创 APISix如何配置gzip压缩、cache、跨域
网上查到的apisix的配置很多都很古老,要改配置文件。其实现在apisix都是使用插件方式实现各种配置,很方便。这里简单介绍下三个常用插件、gzip压缩、cache缓存和跨域插件。这里均使用apisix的Dashboard看板进行配置。
2024-04-26 14:40:23
1806
原创 记录一个sentinel修改密码方法
在app.jar所在目录下创建application.properties的配置文件。使用docker exec -it sentinel /bin/bash进入容器内。利用的是springboot项目配置文件优先级方式复写了jar包内的默认配置。使用docker装了sentinel,公司不允许使用默认密码。只需要写上述两句配置,改掉password就可以了。只要不rm掉容器,重新创建,配置就会生效。其他配置详见github。
2024-04-17 15:19:41
1352
原创 记录下排查网络连接问题导致java假死命令
原因是 server sent events 使用的 servlet async request 功能只能由服务器端主动关闭连接,客户端主动/意外断开连接时,TCP 层发送了关闭信号,服务器端在 TCP 层也做了部分响应,但 servlet 层感知不到,不会关闭连接,因此连接一直残留着,直到被操作系统清理。导致客户端未返回关闭的ack,从而导致了大量CLOSE_WAIT的连接,把后台web容器的网络连接数占满了,所以新请求进不去,从而出现故障。是由于使用了spring的sse做前后台通讯的消息中心导致的。
2024-03-15 17:13:50
640
1
原创 本地maven库缓存导入私库
开始在repository外执行的,结果目录变成了repository.com.xxx.xxx导致识别一些问题。需要注意的是,要在库的下级目录执行。如:C:\Users\xxx\.m2\repository 的目录下。这样提交到nexus上才会是com.xxx.xxx或者org.xxx.xxx。为了加速编译代码,想将本地maven缓存导入内网私库使用。
2024-03-01 11:21:25
744
原创 module java.base does not “opens java.lang“错误记录
之前测试Bladex框架的时候执行BeanUtil.copy时报错,百度不到问题。google时发现相似问题。是由于忘了修改默认jdk版本导致的。idea新版本默认jdk17,bladex需要jdk8。调整jdk版本,清理下缓存后解决。
2024-02-21 13:58:37
1192
原创 基于签名实现的接口鉴权
一般用户登录状态下,判断用户是否有权限或者能否请求接口,都是根据用户登录成功后,服务端授予的token进行控制的。我们知道,所有在客户端和前端保存的key值永远不是最安全的,有可能被拆包而发现对应的加密SK,从而被不法分子破解,因此用户登录时,传输密码时,如果使用固定key,有可能body体被解开,密码被泄露的风险。用户登录后的接口一般都是涉及到客户信息的接口,隐私泄露风险较大。所以token只是用户权限以及会话的凭证,除了会话的凭证,我们也要校验请求的合法性,以防止token泄露而导致客户的损失。
2024-02-19 09:24:35
1104
原创 记录一次k8s集群镜像恢复到harbor的过程
ctr -v 输出的是 containerd 的版本,crictl -v 输出的是当前 k8s 的版本,从结果显而易见你可以认为 crictl 是用于 k8s 的。最初发现这个问题是在增加节点的时候,发现有的节点主机上,拉取镜像报错。之前由于harbor的存储空间不够了,同事干掉了好多镜像,结果把现网生产的镜像也搞掉了。想起来还有k8s的crictl命令,尝试crictl images,终于找到了镜像。但是部分主机是可以正常创建节点的,所以考虑部分节点本地有镜像缓存,没有走harbor拉取。
2024-02-02 16:06:52
793
原创 记录一次应用服务响应慢问题排查过程
3个自建系统使用了一个统一的外部系统接入服务,该服务主要是统一处理外部系统对接,处理掉数据鉴权等问题,提供内部鉴权接口给自己的服务使用。类似一个对接网关。
2024-01-11 09:31:39
793
转载 JVM 17 的调优指南:如何进行JVM调优,JVM调优参数
JVM调优是调整和配置Java虚拟机(JVM)的过程,以便最大限度地提高应用程序的性能和效率。这涉及到调整内存设置、选择合适的垃圾收集器,以及配置各种性能参数。通过上述示例,我们可以看到JVM调优是一个多方面的过程,涉及不同层面的调整和配置。合理使用JVM调优参数,可以帮助我们更好地理解和优化Java应用程序的性能。希望这些示例能够帮助你在实际工作中更有效地进行JVM调优。每个Java应用程序都是独一无二的,因此最佳的JVM调优参数组合可能因应用而异。
2024-01-11 09:12:36
2567
原创 关于TLS相关安全配置问题
其实是使用了移动云的web全站防护产品的,也就是通俗的waf产品。但是也需要单独设置tls的配置。SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱【原理扫描】首先是在tls策略里面,勾选掉ssl3.0,TLS1.0,TLS1.1的配置项。SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)【原理扫描】SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】避免使用IDEA、DES、3DES和RC4算法。然后将已筛选算法列表中相关的算法移除掉。
2024-01-09 10:36:57
1267
原创 CNP日志采集组件使用说明
换句话说,他是通过类似docker logs的方式获取容器内日志信息,你只要确保docker logs能够显示日志即可。移动云CNP上线了日志采集组件,整体功能类似ELK,可以实现集群容器日志的数据采集、汇聚,统一检索等功能。选择对应的项目、应用、组件、环境等信息,就能查询汇聚后的日志信息。标准输出很好理解,只需要你把日式输出到控制台,这边就能够接收到。文件输出注意,暂时不支持ln的软连接和gz打包的日志文件采集。日志输出到标准输出配置,这里以nginx做说明。目前支持标准输出和日志文件两种采集方案。
2023-12-19 09:54:14
587
转载 关于云主机cache占比特别大处理
如果设置为 persistent,journal 将会保存在磁盘中,使用 /var/log/journal 目录 (会自动创建),如果自动创建失败,以及针对启动早期磁盘尚未挂载成功的部分日志, 仍然记录在内存盘。如果设置为 auto,那么,如果 /var/log/journal 目录存在,则使用该目录记录到磁 盘,如果目录不存在(不会自动创建),则使用内存盘。如果设置为 volatile,journal 将会保存在内存中,使用位于内存盘的 /run/log/journal 目录(会自动创建)
2023-12-13 09:33:39
237
转载 docker迁移默认的/var/lib/docker 到指定数据盘目录
1、先停止docker 服务systemctl stop docker2、创建docker挂载数据盘目录mkdir -p /data/docker/lib3、 安装迁移工具yum install rsync -y4、 迁移数据到新目录rsync -azP /var/lib/docker /data/docker/lib/5、修改docker 配置文件docker.servicevim /usr/lib/systemd/system/docker.service在E
2023-12-05 14:48:31
414
应用程序单例实现Demo
2018-08-06
个人封装类
2008-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人