使用 k3s 和 WireGuard 网络部署 Kubernetes 集群

在今年的黑色星期五入手了几个不同 VPS 提供上的机器,包括之前的 A400,以及 HostHatch,手上的机器可以用来学习搭建一个 Kubernetes。 在之前的文章中已经介绍过netmaker,这是一个可以用来管理 [[WireGuard]] 网络的工具,这篇文章就简单介绍一下如何在不同的云服务器提供商的主机之间,利用 WireGuard 构建的局域网,并使用 k3s 来搭建一个简单的 Kubernetes 集群。 概念介绍 Netmaker Netmaker 是一个开源的、基于 WireGuard 网络的组网工具,可以非常方便的构建 Wi Read more ...

2021-12-13 kubernetes , k3s , netmaker , wireguard

搭建临时 socks5 代理

这篇文章简要的介绍一下如何在 VPS 快速使用 Docker 安装一个 socks 代理来满足临时需要 socks 代理的情况,适合直接在 VPS 上安装,然后用完立即删除。 然后搭配 Chrome 下的浏览器插件直接实现快速代理。 或者可以搭配 [[proxychains-ng]] 来实现终端下的代理。 搭建临时 socks5 代理 docker run -d --name socks5 -p 1090:1080 -e PROXY_USER=<USER> -e PROXY_PASSWORD=<PASSWD> --rest Read more ...

2021-12-12 linux , socks5 , proxy-server , vps , docker

使用 Netmaker 快速组建 WireGuard mesh 网络

前段时间在逛 LET 看到有人发帖询问在 VPS 上安装了什么,论坛中的 @Galeej 提到,自己将所有的 VPS 通过 Tailscale 私有网络连接,对其他 VPS 的操作都通过一台新加坡的 relay 服务器转发(并且设置其他 VPS 的网络连接只允许特定的 IP),而所有需要暴露到公开互联网上的端口都隐藏在 Cloudflare 之后,我看到这样的配置之后发现这样的 VPS 配置非常的安全,公开互联网上没有暴露任何可以攻击的端口,所有的服务都在 WireGuard 内网中。 然后在之后的讨论中 @Ouji 又提出,他将用 Netmaker Read more ...


每天学习一个命令:mysqlbinlog 命令使用

MySQL 或 MariaDB 中,对数据库做的任何操作都会被记录到 Binary Log 日志文件中。 二进制日志文件在主从复制中非常重要。恢复 MySQL 时也会使用到二进制日志文件。 但是 Binary Log 而二进制文件,所以无法直接使用文本查看工具打开看,所以 MySQL 提供了 mysqlbinlog 命令。 mysqlbinlog 命令是一个以友好可读方式查看 MySQL Binary log 的命令行工具。也可以使用 mysqlbinlog 命令来读取内容并用管道传给其他 MySQL 工具集。 MySQL 的 binary lo Read more ...

2021-12-07 mysql , mysqlbinlog , linux , database , cli , binary-log

OmniEdge 虚拟组网工具使用及原理简介

[[OmniEdge]] 是一个可以用来快速组建点对点私有网络的工具,也可以用来做内网穿透。 https://omniedge.io/ 官方提供 Starter 套餐,可以供一个用户,最多创建 1 个虚拟网络,连接 20台设备。 2023 年更新 OmniEdge 已经停止运营。 安装 一键安装脚本: curl https://omniedge.io/install/omniedge-install.sh | bash Linux curl https://omniedge.io/install/omniedge-install Read more ...


Linux 下 journal 日志清理

Linux 在运行的过程中会产生很多日志文件,一般存放在 /var/log 目录下,而其中 journal 目录中存放的是 journald daemon 程序生成的日志,其中包括了所有 kernel, initrd, services 等等产生的日志。这些日志在系统发生状况排查问题的时候非常有用。 jounrnald daemon 程序会收集系统运行的日志并存储到二进制文件中。为了查看这些二进制文件通常会使用到 journalctl 命令。但是默认情况下这些日志文件会占用磁盘空间的 10%,而大部分情况下这些日志文件是不需要查看的。所以可以配置减小一 Read more ...

2021-11-29 linux , journal , systemd , journalctl , gdu , du

Proxmox VE 备份和恢复虚拟机

数据是最重要的,本着系统可以挂,但是数据不能丢的原则,这里就整理一下在 Proxmox VE 系统中,直接备份虚拟机,和恢复虚拟机的过程。 为什么需要备份 保证数据的安全性 硬件故障 服务器升级或迁移 恶意软件破坏了系统 准备工作 设置备份存储 设置 Storage,允许保存 VZDump backup 文件: 转到 Datacenter > Storage。 选择备份存储位置。 单击编辑选项卡。 确保有一个 Storage 已经选择了 Content 下的 VZDump backup file Read more ...

2021-11-25 proxmox , pve , vm , backup , data-backup

Linux 虚拟化技术 OpenVZ KVM LXC 对比

介绍一下 Linux 下常见的虚拟化技术。 OpenVZ KVM LXC Xen OpenVZ OpenVZ 是一种基于 Linux 内核的虚拟化技术,它允许在单个物理服务器上运行多个独立的 Linux 系统实例,每个实例都可以拥有自己的 IP 地址、文件系统、进程等。OpenVZ 使用容器技术实现虚拟化,相比于传统的虚拟机技术,它的性能更高、开销更小,因为它不需要模拟硬件,而是直接利用宿主机的资源。OpenVZ 还提供了一些管理工具,如 vzctl 和 vzlist,方便用户管理和监控容器。 OpenVZ(通常简写成 [[O Read more ...

2021-11-18 linux , linux-virtualization , ovz , kvm , lxc

使用 Ansible Roles 结构化并复用 playbook

之前简单的了解过一下 Ansible,但没怎么具体使用起来,这两天因为要管理的机器多了起来,所以又把 Ansible 学了起来。这篇文章就主要了解一下 Ansible Roles 的使用。 之前的文章简单的知道在 Ansible 中可以使用 playbook 来组织一系列的任务。但如果要复用这些任务,并且更加模块化的花,那就离不开 Ansible Roles。 Role 用来解决的问题 之前的文章中也说过可以使用 playbook 来管理一系列的任务,但随着使用 playbook 就不可以免的膨胀,可能会出现上百行的 playbook,那为了复用和结 Read more ...


如何发现 CPU steal 并解决

什么是 CPU 窃取 CPU 窃取(CPU steal)指的是一个虚拟 CPU 核心必须等待物理 CPU 的时间百分比。通常 CPU 窃取发生在共享主机上,简短地来说就说当共享主机去处理一个请求时发生延迟。这种情况通常会发生在资源争夺的时候,当处理 CPU 密集型任务时。 为什么会发生 CPU 窃取 在共享主机、或云主机中,虚拟机管理程序会安装在物理硬件和虚拟机化化境之间,然后将 CPU 时间、内存等等资源分配给虚拟机。 当进程准备好由虚拟 CPU 执行时,等待管理程序分配物理 CPU,而如果管理程序将此 CPU 已经分配给了另一个虚拟机时,就会 Read more ...

2021-11-05 cpu , linux , vps , cpu-steal , virtual-machine

最近文章

  • 我购买了一个 DJI Mic Mini 最近为了提升移动拍摄时的收音质量,我入手了 DJI Mic Mini。虽然大疆提供了带充电盒的套装,但我只购买了单机版本(发射器+接收器,2 TX 1 RX 版本),因为对于我日常的拍摄需求来说,本体的续航已经完全足够了。
  • Auto Claude:Vibe Kanban 的终极形态?让 AI 并行开发的“指挥中心”来了 在上一篇文章 《Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了》 中,我分享了一种利用 [[Vibe Kanban]] 和 AI Agent 实现并行开发的工作流理念。我们可以利用 Vibe Kanban 来统一管理多个并行任务。
  • Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了 在我之前的视频当中,我介绍过在 Claude Code 中使用子代理(Subagents)机制和 Git Worktree 来实现并行工作流。我们可以创建子代理来并行执行任务,但是 Subagents 的配置和使用都还需要我们在 Claude Code 中等待。那如果我们有完全独立的两个任务要执行呢,我们可以开两个 Claude Code 分别在两个 Claude Code 中提交任务,然后让 Claude Code 完成。此时我们依然会遇到一些问题,比如说两个 Claude Code 的代码可能产生冲突。并且如果我们有超过两个独立任务时,我们在管理 Claude Code 的成本就会指数级上升。
  • 终于还是入手了:Insta360 Go Ultra 初体验 每次想要拍摄,我得从口袋掏出手机,解锁,打开相机应用,切换到视频模式,然后举着它——这个过程在很多稍纵即逝的生活瞬间面前,显得太繁琐了。而且,当你举着手机拍摄时,你其实是在”观察”生活,而不是在”经历”生活。手机太”重”了,不是物理重量,而是心理负担。所以我想使用一个工具,可以帮我记录生活,但又不需要我刻意去”操作”它。于是,在观望了许久之后,我终于入手了这台 Insta360 Go Ultra。在 11.11 在天猫 2350 下单了 Insta360 Go Ultra,后来价格保护还退还了 260 块。
  • 奥卡姆剃刀:为何简单的往往就是最好的 最近我在整理我的 Obsidian 笔记库时,发现了一个有趣的现象。