superpowers
安装https://github.com/obra/superpowers 按照教程安装 使用/brainstorming进行头脑风暴 回答问题后,会生成 md 文件的设计文档,然后它会根据这个设计文档来写实现步骤,最后根据步骤来一一实现。
Nexus仓库搭建记录
https://www.sonatype.com/products/nexus-community-edition-download 配置域名与 SSL 证书, 我用的是 Kubernetes 的 ingress 做的反代(为了统一维护 ssl 证书),也可以使用 nginx 来做反代。 Default Secret Encryption Key 警告问题:
Git Merge代码冲突的解决方式
我在自己的分支开发,我在 dev 分支开发,想提交 Merge Request 合并到 main 分支,但是代码冲突,无法合并,需要先处理冲突,常用的解法有两种,一种是 merge 的方式合并代码,另一种是 rebase merge 方式合并这种方式需要有 push 主分支代码的权限 这个时候可能会出现代码冲突,建议使用 vscode 之类的软件进行合并,使用 VSCode 合并方式如下: 冲突解决完成,建议搜索一下关键词 >>>>>>>,能搜到,说明你的冲突还没解决完。 rebase 方式合并rebase 的方式就是改变代码的分支起点,类似于把 dev 分支的起点转变到 main 的最新 变成 其中 E’ 和 F’ 是 E、F 在 D 基础上重放的副本。 这样的好处是合并后的代码历史更简洁,是一条直线,且合并的时候可以不用管理员来处理代码冲突的情况(由自己处理掉),坏处是比较麻烦,可能会多次处理冲突。 如果这个界面直接 :wq 保存退出 这个时候如果有冲突,rebase 会停止,这个时候你需要手动解决冲突 建议使用...
使用 Easytier-web 管理 easytier 节点
普通的使用方式之前写过一篇文章:开源组网工具-easytier 但是试想一下如果你有 100 个 easytier 节点,现在想批量修改一个配置,那是比较痛苦的事情。easytier-web 就是个管理控制台,可以统一在控制台管理所有节点的配置。 搭建 easytier-web 服务官方提供的有两种服务,官方文档在:https://easytier.cn/guide/network/web-console.html EasyTier 的 web 控制台有 2 个版本: easytier-web(仅 web api 后端) easytier-web-embed(web 前端 + web api 后端) 如果你只搭建 web api 后端的话,需要登录官方的前端,api 配置你的后端地址,不过都选择自建了,那就前后端一起部署吧。 我是用 docker 搭建的,但是官方的 docker 镜像写死了 entrypoint 是 easytier-core ,不能启动 easytier-web 服务,所以自己构建镜像。 dockerfile避免镜像变大,我使用多阶段构建。 启动服务 ...
ingress-nginx 去除指定context path
比如我想去掉 url 中的 /a 方法一、使用 Nginx 配置片段 但是这种方式需要修改 ingress nginx 开启支持 nginx 配置的功能,详情见 ingress-nginx 使用自定义的nginx配置 方法二、使用 ingress nginx 原生配置需要去除 context path 的路径,创建专门的 ingress,比如:
在macOS上使用MusicPlayer2听本地音乐
我的环境:OS:macOS Tahoe & macOS SequoiaCrossOver 版本:26.0MusicPlayer2 版本:2.78 在 macOS 上没有找到我想要的本地音乐播放软件,倒是 Windows 上有个开源的播放器很不错: MusicPlayer2官方地址,由于是 Windows 应用程序,想要在 macOS 上使用,我用的是 CrossOver 来运行,凑合使用,就是 CPU 使用率有亿点高。 配置软件MusicPlayer2 文件我放在了 iCloud Drive 里,这样多个 Mac 电脑可以同步配置、播放记录等。 创建容器我创建的是 Windows 11 容器。 安装运行库按照 MusicPlayer2 的要求,需要安装 Microsoft Visual C++ 运行库到 CrossOver 的容器里,当然也可以将需要的 dll 文件放在软件目录下。 创建图标 在这里选择程序路径,然后将指令保存到面板 备注:删除图标CrossOver 设计的有问题,创建图标没给删除的方式,经过研究,删除图标需要到:~/Applications/CrossO...
Kubernetes 1.34 + RHEL10 + Cilium + kube-vip 高可用集群部署
适用场景: 裸机 / 虚拟机环境 无云厂商 LB 追求 eBPF + 原生路由的高性能网络 环境介绍 主机名 IP 安装组件 master1 10.0.0.11 etcd、apiserver、controller-manager、scheduler、kubelet、containerd、kubeadm、kube-vip master2 10.0.0.12 etcd、apiserver、controller-manager、scheduler、kubelet、containerd、kubeadm、kube-vip master3 10.0.0.13 etcd、apiserver、controller-manager、scheduler、kubelet、containerd、kubeadm、kube-vip 基础环境 操作系统:CentOS Stream 10 Kubernetes:v1.34.5 容器运行时:containerd CNI:Cilium 高可用方式:kube-vip(ARP 模式) 准备工作(所有节点)关闭防火墙与 SELi...
使用腾讯云CLS收集TKE(k8s)业务日志
使用 CLS 来采集业务日志的好处有 运维方便,不用费劲搭建 ELK 系统,传统的 filebeat -> kafka -> logstash -> ElasticSearch 架构复杂 费用便宜(和 ES、kafka 这一套相比) 不用担心告警等(如 ES 磁盘使用率等) 开启采集在集群管理界面,点击 日志 新增采集配置: 然后选择日志源、元数据等,点击下一步,配置日志解析方式。 如果是纯 json 日志,就配置成 json 格式解析。业务日志是 Spring Boot,并且包含多行日志,所以选择 多行 - 完全正则 模式来匹配。 点击完成后就完成了日志采集。 多行正则模式匹配假设业务日志格式为: 那么我们需要的日志字段有(按日志顺序): 2026-01-07 20:58:29.335 日志时间 INFO 日志级别 [服务名,TraceId, SpanId, 不知道是什么字段] [XNIO-1 task-7] XNIO:是 XNIO 框架的线程池 task-7:线程池中的第 7 个工作线程 c.example.nub.webmvc.filter....
容器调试工具之BusyBox
很早之前我在上学的时候给安卓手机刷机,root 后还可以安装了个号称 Linux 瑞士军刀的 App,不过没搞懂有什么用,不过记住了这个特别的名字 – BusyBox BusyBox 是什么BusyBox 是一款超轻量级的 Linux 工具集,也被称为 “Linux 瑞士军刀”—— 它把数百个常用的 Linux 命令(如 ls、cat、ps、telnet、unzip 等)打包进一个单一的可执行文件,体积仅 1-2MB,且支持静态编译,是嵌入式 Linux、精简系统、应急运维场景的 “神器”。 下载地址官方编译好的可执行文件:https://busybox.net/downloads/binaries/1.35.0-x86_64-linux-musl/, 可以下载主文件 busybox,也可以下载单个命令使用。 BusyBox 使用方法包含的命令 如何使用直接使用 简化使用如果想像原生命令一样直接用 busybox 自带的命令,可创建软链接: 为什么适合在容器环境下使用 镜像安全问题,容易被各种安全团队扫描到漏洞进行整改,需要尽量少安装各种包。 镜像体积大小问题。 有些容器...
无Docker环境进行容器镜像操作
找了有两个开源项目比较不错,都可以完成镜像的迁移。 crpy 的使用crpy 使用 python 开发,有本地缓存,拉取和推送镜像速度比较快。使用体验比较接近 docker。开源地址: https://github.com/bvanelli/crpy 安装 认证 认证信息存储在:~/.crpy/config.json 拉取镜像 缓存数据存储在:~/.crpy/blobs 推送镜像 crane 的使用这个工具是 Golang 写的,支持 Windows,单文件直接运行,比较方便,支持指定架构。 https://github.com/google/go-containerregistry/blob/main/cmd/crane/README.md 安装在:https://github.com/google/go-containerregistry/releases 下载二进制文件即可。 认证 认证信息存储在:~/.docker/config.json 拉取镜像 推送镜像 同步镜像同步镜像会根据两个仓库的镜像摘要来确定是否同步对应的层,如果指定的层目标已存在是不会进行同步...




