使用 Keel 自动更新 K8S 中容器镜像

当我们在自己的服务器上使用 Docker 部署了一些有用的容器镜像时,一般可以使用 watchtower 来自动更新我们的镜像版本。但是如果使用的是 K8S,有没有工具可以像 watchtower 一样来自动更新 K8S 中的容器镜像版本呢,最近发现了 Keel 这款工具可以做同样的事。

部署下载神器 Aria2 Pro

几年前刚搭建了黑群晖时,在群晖的 docker 中跑了一个网友改造的 aria2 下载器,包含了一个已经配置好的 aria2 内核和一个 AriaNG 控制页面。之后应该是一次也没更新过,如今这个 aria2 下载器下载BT种子的话已经基本没有任何速度。AriaNG 页面也落后了很多个版本了。想着更新一下,因此发现了这个项目:Aria2-Pro-Docker 。

mac 系统找不到 clang 头文件

入手了一台 MacBook Air m2, 开始进入 MAC 的生态, 不过刚装好常用的开发环境, 在编译一个 golang 项目时就出现了一个找不到头文件的问题.

使用coding自动同步和部署Github项目

coding 提供了一套免费的静态页面服务,还可以自定义域名,本人的 airaNg 服务页面也是部署在coding的静态页面服务当中。不过 ariaNg 还会不断更新,如何在 ariaNg 原项目版本升级后自动更新自己部署的在 coding 的页面呢,这里利用 coding 自带的持续集成功能来完成这种自定义的操作。 目前coding的静态页面服务已进行了修改,使用腾讯云的 oss 和 cdn 来部署了,虽然速度和稳定性有了提升,但可能也会产生费用。

在ubuntu18.04上部署kubernetes

为了有个k8s的测试环境,使用了三台ubuntu18的系统搭建了一套k8s测试环境,主要参考了和我一步步部署 kubernetes 集群这个项目,这个项目对于如何一步步搭建起k8s集群环境已经很详细了,不过对于ubuntu 18.04的环境还是有一些小坑,这里记录一下。

使用持续集成系统解放生产力

程序猿除了希望写好代码,一定也想着自己的项目可以如何快速的迭代上线,从而可以专注的完成代码的编写,减少繁杂的运维等工作。例如完成一项功能的开发后,推送到 Git 等代码管理系统后,剩下的测试、部署、上线等工作可以交给一个系统来自动化完成,这时便可以靠持续集成系统了。这里记录下我使用老牌的 Jenkins 持续集成系统来帮助自己完成的工作。

全能型 uWSGI 配置

在进行 Python web 开发时,使用 Django、Flask 等框架开发完毕后,部署时通常需要选择一个支持 wsgi 协议的 Web 服务器程序。目前比较通用的选择是 nginx + uWSGI,使用 nginx 来处理静态文件请求,其余动态内容再转发给 uWSGI 交给 web 后台处理,网上这样的配置教程也是最多的。作为两款大名鼎鼎的服务器程序 nginx 负责静态文件,uWSGI 负责动态内容,各种在自己擅长的领域各施其职,的确效率很高,是高性能的 Python web 系统部署时的首选。不过有时用 Python 写了个小站点,性能需求并不高时。部署服务还要安装 nginx 和 uWSGI 两个服务器程序就显得有点麻烦了。能否把这些工作都交给一个服务器程序呢。

在 hexo 中使用 git submodules 管理主题

hexo 中有着丰富的主题可以选择, 大部分的使用示例或者教程都是将主题 clone 到 theme 文件夹中来使用. 但这样来使用主题会存在如下的问题: - theme 中的主题属于一个独立的 Git 项目, 有自己的 .git 项目文件夹, 提交 hexo 项目时默认不会提交 theme 的 .git 文件夹, 在其他电脑上 clone 后会失去 theme 原本的版本控制功能. - 使用自己修改的主题时, 每次更改完主题, 需要在主题文件夹中提交一次, 然后再在 hexo 项目根文件夹中提交一次, 会产生两次修改内容一样的提交, 不够优雅. 还好万能的 Git 针对这种问题已经有了成熟的解决方案, 通过自带的 Git submodules 功能即可优雅的避免以上的问题.