记 容器编排工具 k3s + Rancher 环境的搭建

记 容器编排工具 k3s + Rancher 环境的搭建

2024/02/1 更新: k3s 截止最新版本 v1.25.5 部署建议。 traefik 禁用参数 由 --no-deploy 变更至 --disable。 k3s 架构图更新。 更改了安装命令的小错误。 很久没写博客了啊。。。大三啦,准备着电子设计大赛和考研,还是有点忙的,一直没来打理博客;要写的东西其实并不少 (说白了就是懒~)。最近有空升级了集群的部署方案,为了以后能有个参考,可以来水一篇了。 我在香港的两台服务器上托管着各种各样的服务,有轻量级别的 RSS阅读器 Miniflux、IFTTT 开源替代品 Huginn、有中等量级别的 数据收集与可视化 Grafana + Prometheus 栈、消息队列服务 RabbitMQ,也有重量级别的 Git + CI 服务 …

继续阅读

Arch Linux 的安装与配置

Arch Linux 的安装与配置

早就听闻 Arch邪教的大名,Arch的维基对于新手入门Linux有很大的帮助,无论是在用哪个发行版;我也曾带着各种各样的奇怪问题,从搜索引擎、serverfault和各种论坛来到 ArchWiki。 最开始我是抱着折腾到底的心态才想来尝试Arch的,毕竟我实在是太会折腾了。作为一个经历过 Fedora、 Debian的长期 Ubuntu用户,最近因为期末了没时间,只是浅尝了一下Arch的一个衍生发行版 Manjaro。 Manjaro身上虽已经有了许多Arch的特征(毕竟是衍生发行版嘛),但因为其预装了许多可能不必要的软件,还是比较臃肿(顺着本文安装Gnome桌面后空间占用只有6GB左右;如果再适当精简部分软件或使用 xfce桌面的话会更小) …

继续阅读

MacOS 上的 STM32 开发

MacOS 上的 STM32 开发

使用过 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 …

继续阅读

使用zsh及其生态完美替代bash

使用zsh及其生态完美替代bash

先放上效果图 好像是挺精致的;(心情好)功能强大效率也许会高那么一些😊。 使用 /U/t/Doc/Pro + -> 代替 /U + ->/t + ->/Doc + ->/Pro + -> 来切换到 /User/twikor/Documents/Projects 随时观察到当前时间、当前项目使用的nodejs、PHP、Laravel等的版本(居然没有python、Flask)、服务器载荷... 当前目录项目git状态指示(真的不能再方便) 自动补全(✌️) ls目录下不同类型颜色区分 观察命令执行时长 可高度自定义主题与插件,增加额外的功能 安装zsh …

继续阅读

Linux systemd 配置简述

Linux systemd 配置简述

习惯了诸如 " systemctl {start|status|stop|enable|disable} httpd " 等类似的命令?在Linux中如何将普通的应用程序设置成服务? 这里以 frp client 为例,实现在 Ubuntu 18.04 上的普通的应用程序添加进守护进程以方便配置自启动。 配置service文件 在应用程序的安装或配置位置,新建一个 frpc.service ,然后再来按照区块编辑这个文件: Unit 负责服务的描述,启动顺序和依赖关系。 Before 和 After 定义服务的启动顺序(在某个程序之前或之后)。 require 要求某个服务启动成功,否则不会启动该自定义服务,而 Wants 则不会终止该自定义服务的启动。 [Unit] …

继续阅读

使用putty串口连接树莓派

使用putty串口连接树莓派

最近收到了期盼已久的树莓派:3B和zere 0w,当然要晒一晒了, 就像这样。 在连包装盒一起里里外外欣赏了个透之后,就有疑问来了:没有HDMI接口的显示器,该怎样给好吃的连无线网络呢?(尽管有的,我还是这么想了)连USB?不太可能行得通(人家只是电源接口而已,USB直连根本不行),还有烧板子的风险。查了查dalao们的博客,ttl串口通讯,好的,猜得八九不离十。 材料 USB转TTL串口连接线(带芯片),serial controller 驱动 连线 红色连接5V,黑色接地,还有两根白绿分别接TXD和RTX。 自带电源供应时就不能连接5V红线,据说会烧板子(娇气)。 附赠 树莓派实验室出品 引脚图一张: 安装驱动 整理了一下Windows和MacOS的USB转TTL驱动(不用谢): …

继续阅读

Lumen自定义404响应

Lumen自定义404响应

在 App\Exceptions\Handler 中引入: use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 然后在 render()中更改响应的方式。 如果要渲染成页面,可以先在view文件夹中添加error.blade.php文件,然后在 render()中 return前加入判断404的语句: if ($e instanceof NotFoundHttpException){ return response(view("error"),404); } 如果要渲染成Json格式输出,可以直接使用json(): if ($e instanceof NotFoundHttpException){ return …

继续阅读

NGINX 开放跨站请求

在Twic lab中新添加了一个CDN项目 T HREF,将常见的字体、前端框架等静态文件统一放在里面,便于引用。 然而在实际应用时,发现能够直接访问文件,能够在同一域下的其他文件中调用,却不能够在其他域中调用。 解决方法: 在CDN项目的NGINX配置文件中添加响应头: add_header Access-Control-Allow-Origin *; 以开放跨站请求,即可解决问题。

继续阅读

Ubuntu 16.04 升级至 17.10

虽然部分VPS商家如Vultr等在部署时均提供Ubuntu 17.10版本,大多数的提供商(至少我遇到的两三家)的Ubuntu版本都还是在16.10及以下。为了方便使用,当然想把我的所有VPS都弄成同一个操作系统统一版本;既然决定使用Ubuntu 17.10,那么剩下的如何更新呢? 若是Ubuntu17.04,只需 " apt update " 后执行 " do-release-upgrade " 。但是对于以下的版本 (<= 16.10) ,似乎需要折腾一会儿。 更新已安装包 还是照常, apt update 如果有更新,就 apt upgrade 安装并配置更新管理 apt dist-upgrade apt install update-manager-core 安装好后打开 " …

继续阅读