未完待续,目前正在折腾多线宽带叠加/分流,尽请期待完稿日。😊 本篇继续来记录 k3s 集群的基础设施维护。 接 上篇文章 完成了对宿舍设施的升级后,准备集中解决下几个痛点;总结起来就是(还是)网络问题。 集群网络问题 域控制器 与 主/从 DNS DNS 作为集群中的基础,其稳定性保证各项服务的质量,因此需要一个良好易实施与维护的方案。 在这之前,我所有的域名都在 Cloudflare 上配置解析,其中也包括内网中的部分。在实际使用时就会发现这是不太方便的做法:将内网的服务地址往外暴露不仅配置麻烦,而且没有必要(暂且不说明安全方面也会有一定的隐患)。 因为现在有了 NAS,为了方便 SMB 共享的用户验证,我搭建了 Windows Server 用做 Active Directory …
继续阅读 >>
(并不)简要的介绍 从去年夏天开始,寝室里一直运行着一台 华硕 pn61s 小主机,上面用 PVE 作为 Hypervisor 跑着几个虚拟机。 这个机器是由在京东二手买的带 八代移动端 i5 的准系统,外加闲鱼入的低价 16g*2 ddr4、拆机西数黑盘 500g hdd 和一块西数蓝盘 1t m2 组成的。特点就是非常小巧,115mm x 115mm x 49mm 的体积在哪都能找个地方容纳。这里还有 刚到手时的记录,那时是挺高兴的(算是当时用过的最高的配置的服务器了,能不高兴嘛)。后面由于气温越来越高,于是去淘宝找了个散热支架将它包围起来, 就像这样。 pn61s 的主要用途是跑从云上搬下来的自建 GitLab(那就是 git.toay 啦,话说 Java …
继续阅读 >>
最近项目上有对放射源进行三维扫描与辐射场建模的需求,而必要的能谱分析软件是基于 Windows 端开发的,故需要在 Win 端实现 SLAM 建图。目前实际应用中 ORB-SLAM 为效果最好的 基于特征点的视觉 SLAM 系统,而其 v3 版本相较于 v2 版本增加了使用 IMU 与视觉里程计融合的功能并提高了运算速度,因此便选择使用 ORB-SLAM3 实现功能,同时准备把其基于 Linux gcc 平台实现的库移植到 Win MSVC 平台上。 GitHub 上可以搜到一些移植完成的项目,基本上都是 v2 版本,极少数的 ORB-SLAM3 使用的都是 v0.x rc 版本。而且就算这样也都没有一个移植过程的记录,展示下 进行摄像头在线联调 …
继续阅读 >>
本文 Galera 集群部分还在更新中,敬请等待完稿日 :) 拥有一个能稳定运行的 k3s/k8s 集群可能并不太容易(所以这只会是一个系列中的一篇😝)。我将在这个系列中记录我爬坑的过程,既为我 之后重建x,也为可能存在的读者作一定的参考。 对于文章中的内容,如果有错误,或是你有更好的方案,欢迎在文末提出。😊 网络 网络可以说是集群维护中最头痛的一件事了,特别是在大陆部署服务器时:国内服务器带宽小且贵,多数 registry、repository、api 不是太慢就是 connection reset、dns 污染。总之,部署在大陆的服务器有一个离不开的一个问题,如何让外网流量正常地进出? 之前我的方案是 使用 openwrt 作为软路由 的方式透明代理所有流量,但因为 clash …
继续阅读 >>
上一篇 两年前的文章 记 容器编排工具 k3s + Rancher 环境的搭建 记录了 外置 mysql 数据库、运行在 Azure 云上的 k3s 集群,以及方便的集群管理工具 Rancher 的安装与配置过程。 对于家中(寝室?学校/实验室?)有自建 NAS 、树莓派/服务器等 Homelab 设施,以及在多个云服务商部署有云服务器这种更为常见场景的我来说,为了设法充分利用这些资源,我在这之后又探索了各种能够实现分布式高可用 k3s 集群的搭建。 对于这种应用场景下的集群,为了保证稳定和可靠性,要反复斟酌的主要有这几个点: 如何为处于不同网络环境下的机器完成互联? 即使是分布在不同的运营商,让拥有公网 IP 的云服务器之间互联也很容易(例如用 WireGuard …
继续阅读 >>
初始化新磁盘 先使用 fdisk -l 命令查看所有检测到的磁盘与分区,找到新添加磁盘的路径: Disk /dev/sdb: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: QEMU HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes 对新添加的磁盘进行分区: ~ sudo fdisk /dev/sdb Welcome to fdisk (util-linux …
继续阅读 >>
2024/02/1 更新: k3s 截止最新版本 v1.25.5 部署建议。 traefik 禁用参数 由 --no-deploy 变更至 --disable。 k3s 架构图更新。 更改了安装命令的小错误。 2024/11/25 更新: 添加 --kube-apiserver-arg 参数,更改 service node port 区间。 很久没写博客了啊。。。大三啦,准备着电子设计大赛和考研,还是有点忙的,一直没来打理博客;要写的东西其实并不少 (说白了就是懒~)。最近有空升级了集群的部署方案,为了以后能有个参考,可以来水一篇了。 我在香港的两台服务器上托管着各种各样的服务,有轻量级别的 RSS阅读器 Miniflux、IFTTT 开源替代品 Huginn、有中等量级别的 …
继续阅读 >>
早就听闻 Arch邪教的大名,Arch的维基对于新手入门Linux有很大的帮助,无论是在用哪个发行版;我也曾带着各种各样的奇怪问题,从搜索引擎、serverfault和各种论坛来到 ArchWiki。 最开始我是抱着折腾到底的心态才想来尝试Arch的,毕竟我实在是太会折腾了。作为一个经历过 Fedora、 Debian的长期 Ubuntu用户,最近因为期末了没时间,只是浅尝了一下Arch的一个衍生发行版 Manjaro。 Manjaro身上虽已经有了许多Arch的特征(毕竟是衍生发行版嘛),但因为其预装了许多可能不必要的软件,还是比较臃肿(顺着本文安装Gnome桌面后空间占用只有6GB左右;如果再适当精简部分软件或使用 xfce桌面的话会更小) …
继续阅读 >>
使用过 IntelliJ 系列 IDE 的同学都知道使用其进行开发的流畅体验。最近几年 ST 公司大力推行 HAL 库及 Cube 工具(MacOS 上可直接使用基于 Eclipse 二次开发的 CubeIDE),也为 MacOS 上的嵌入式开发提供了非常大的便捷,而 Jetbrains 公司的 CLion 对 Cube 相关工具的整合与适配更是锦上添花。何乐而不为呢? 对我而言,CLion 拥有的非常实用的功能主要有以下这些: 代码自动补全,以及无处不在、无微不致的提示(连调函数时都会体贴地提示你形参名,泪目) 代码文档注释(只需鼠标移动至函数、变量等对象下,即可出现格式化的文档注释。我在习惯 HAL …
继续阅读 >>
写在前面 二分虽然看起来没有几行,但 真的算不上简单;细节方面陷阱很多. 像我这种不拘小节的人,真的😖。 为此,我想系统地整理一下二分笔记。查了好一些资料,算法笔记、Segmentfault、知乎、博客园,有关二分查找的内容其实挺多的。然而大多数内容文字多形象表达少,算法全是语言描述,十分抽象,甚至不如直接上代码;这看得可真够累的,有那么麻烦吗? 我丢掉了大多数抽象而没必要的解释,整理了几个二分及变形的例程,写了这篇详细讨论常见的几种二分及变形算法的笔记。文中的例程均使用 C。 为了清晰地观察算法的每一个动作,我定义了一个函数 printStack(),即本文的主角: void printStack(int arr[], int n, int l, int m, int r, int …
继续阅读 >>