拥有一个能稳定运行的 k3s/k8s 集群可能并不太容易(所以这只会是一个系列中的一篇😝)。我将在这个系列中记录我爬坑的过程,既为我 之后重建x,也为可能存在的读者作一定的参考。 对于文章中的内容,如果有错误,或是你有更好的方案,欢迎在文末提出。😊 网络 网络可以说是集群维护中最头痛的一件事了,特别是在大陆部署服务器时:国内服务器带宽小且贵,多数 registry、repository、api 不是太慢就是 connection reset、dns 污染。总之,部署在大陆的服务器有一个离不开的一个问题,如何让外网流量正常地进出? 之前我的方案是 使用 openwrt 作为软路由 的方式透明代理所有流量,但因为 clash 分流配置复杂存在内存泄漏需要定时重启、软路由会增加 …
Continue Reading >>
Note: This article is Chinese-only. 上一篇 两年前的文章 记 容器编排工具 k3s + Rancher 环境的搭建 记录了 外置 mysql 数据库、运行在 Azure 云上的 k3s 集群,以及方便的集群管理工具 Rancher 的安装与配置过程。 对于家中(寝室?学校/实验室?)有自建 NAS 、树莓派/服务器等 Homelab 设施,以及在多个云服务商部署有云服务器这种更为常见场景的我来说,为了设法充分利用这些资源,我在这之后又探索了各种能够实现分布式高可用 k3s 集群的搭建。 对于这种应用场景下的集群,为了保证稳定和可靠性,要反复斟酌的主要有这几个点: 如何为处于不同网络环境下的机器完成互联? 即使是分布在不同的运营商,让拥有公网 IP …
Continue Reading >>
初始化新磁盘 先使用 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 …
Continue Reading >>
Notice: This article is only available in Chinese. :( 2024/02/1 更新: k3s 截止最新版本 v1.25.5 部署建议。 traefik 禁用参数 由 --no-deploy 变更至 --disable。 k3s 架构图更新。 更改了安装命令的小错误。 很久没写博客了啊。。。大三啦,准备着电子设计大赛和考研,还是有点忙的,一直没来打理博客;要写的东西其实并不少 (说白了就是懒~)。最近有空升级了集群的部署方案,为了以后能有个参考,可以来水一篇了。 我在香港的两台服务器上托管着各种各样的服务,有轻量级别的 RSS阅读器 Miniflux、IFTTT 开源替代品 Huginn、有中等量级别的 数据收集与可视化 Grafana + …
Continue Reading >>
Notice: This article is only available in Chinese. :( 早就听闻 Arch邪教的大名,Arch的维基对于新手入门Linux有很大的帮助,无论是在用哪个发行版;我也曾带着各种各样的奇怪问题,从搜索引擎、serverfault和各种论坛来到 ArchWiki。 最开始我是抱着折腾到底的心态才想来尝试Arch的,毕竟我实在是太会折腾了。作为一个经历过 Fedora、 Debian的长期 Ubuntu用户,最近因为期末了没时间,只是浅尝了一下Arch的一个衍生发行版 Manjaro。 …
Continue Reading >>
Notice: This article is only available in Chinese. :( 使用过 IntelliJ 系列 IDE 的同学都知道使用其进行开发的流畅体验。最近几年 ST 公司大力推行 HAL 库及 Cube 工具(MacOS 上可直接使用基于 Eclipse 二次开发的 CubeIDE),也为 MacOS 上的嵌入式开发提供了非常大的便捷,而 Jetbrains 公司的 CLion 对 Cube 相关工具的整合与适配更是锦上添花。何乐而不为呢? 对我而言,CLion 拥有的非常实用的功能主要有以下这些: 代码自动补全,以及无处不在、无微不致的提示(连调函数时都会体贴地提示你形参名,泪目) …
Continue Reading >>
Notice: This article is only available in Chinese. :( 写在前面 二分虽然看起来没有几行,但 真的算不上简单;细节方面陷阱很多. 像我这种不拘小节的人,真的😖。 为此,我想系统地整理一下二分笔记。查了好一些资料,算法笔记、Segmentfault、知乎、博客园,有关二分查找的内容其实挺多的。然而大多数内容文字多形象表达少,算法全是语言描述,十分抽象,甚至不如直接上代码;这看得可真够累的,有那么麻烦吗? 我丢掉了大多数抽象而没必要的解释,整理了几个二分及变形的例程,写了这篇详细讨论常见的几种二分及变形算法的笔记。文中的例程均使用 C。 为了清晰地观察算法的每一个动作,我定义了一个函数 printStack(),即本文的主角: void …
Continue Reading >>
Notice: This article is only available in Chinese. :( 先放上效果图 好像是挺精致的;(心情好)功能强大效率也许会高那么一些😊。 使用 /U/t/Doc/Pro + -> 代替 /U + ->/t + ->/Doc + ->/Pro + -> 来切换到 /User/twikor/Documents/Projects 随时观察到当前时间、当前项目使用的nodejs、PHP、Laravel等的版本(居然没有python、Flask)、服务器载荷... 当前目录项目git状态指示(真的不能再方便) 自动补全(✌️) ls目录下不同类型颜色区分 观察命令执行时长 可高度自定义主题与插件,增加额外的功能 安装zsh …
Continue Reading >>
Notice: This article is only available in Chinese version. :( 习惯了诸如 " systemctl {start|status|stop|enable|disable} httpd " 等类似的命令?在Linux中如何将普通的应用程序设置成服务? 这里以 frp client 为例,实现在 Ubuntu 18.04 上的普通的应用程序添加进守护进程以方便配置自启动。 配置service文件 在应用程序的安装或配置位置,新建一个 frpc.service ,然后再来按照区块编辑这个文件: Unit 负责服务的描述,启动顺序和依赖关系。 Before 和 After 定义服务的启动顺序(在某个程序之前或之后)。 require …
Continue Reading >>
Notice: This article is only available in Chinese. :( 最近收到了期盼已久的树莓派:3B和zere 0w,当然要晒一晒了, 就像这样。 在连包装盒一起里里外外欣赏了个透之后,就有疑问来了:没有HDMI接口的显示器,该怎样给好吃的连无线网络呢?(尽管是有的,我还是这么想了)USB直连?可能不大行得通(人家只是电源接口而已,USB直连根本不行),还有烧板子的风险。查了查dalao们的博客,ttl串口通讯,好的,猜得八九不离十。 材料 USB转TTL串口连接线(带芯片),serial controller 驱动 连线 红色连接5V,黑色接地,还有两根白绿分别接TXD和RTX。 …
Continue Reading >>