6月 02

基于iTop的Kubernetes工作流

当面向很多用户时,Kubernetes 的使用方式是一个需要考虑的问题。如果直接让用户写 yaml,一方面是要求每个用户都学 Kubernetes,这对研发人员来说是一个不必要的负担,另一方面 yaml 的管理以及权限分配对运维人员来说也是一个不必要的负担,平添很多琐事。因此,使用一个管理系统来屏蔽 Kubernetes 细节,管理权限等 … Continue reading

6月 01

容器进程树

使用 Docker 运行程序时,需要注意进程数是否正确,能否正确处理退出信号。本文记录几个我遇到过的案例。 Zabbix进程树错误 容器化 Zabbix 后运行不到1分钟就退出,日志如下。 pstree看到进程树不对: cron.sh用于发报警,发完就退出,不应该是zabbix_server的子进程 需要引入init程序,比如dumb-i … Continue reading

5月 31

Harbor镜像仓库笔记

提供界面的镜像仓库可以选择 SUSE 的 Portus 和 VMware 的 Harbor。我选择的是 Harbor。其实一开始是倾向于 Portus 的,因为 Application tokens 功能看起来很有用,但是尝试部署时总是报错,Ruby 程序就是这么难搞。只好去尝试 Harbor。用 OIDC 登录时,有个 CLI 密码,类 … Continue reading

5月 30

使用kubedb管理数据库

kubedb 是一个在 Kubernetes 上管理数据库的开源工具,支持 MySQL,Postgres,Redis 等常用数据库。本文记录使用 0.13 版本部署 Postgres 及 Redis 的过程。 安装 使用 helm v3 安装。 安装 kubedb,设置 enableAnalytics=false 关闭信息采集。 安装 k … Continue reading

5月 29

基于Drone CI的持续集成方案

我最早接触的持续集成工具是大名鼎鼎的 Jenkins,接手同事留下的一个单节点 Jenkins。由于没有太强烈的使用需求,体会不到 Jenkins 的强大,印象停留在 “麻烦” 两个字:需要给研发同事手动添加账号,然后用一个有很多很多方框的表单来设置权限。而 Drone CI 在账号权限方面就给人眼前一亮的感觉,直接集成代码仓库,和 Gi … Continue reading

5月 28

Gitlab迁移到Gitea

上一篇文章提到,Gitea 是替代 Gitlab 的一个好选择,那么如果已经有了 Gitlab,如何迁移到 Gitea 呢?风险最低的方案可能是让用户自行迁移,但问题是迁移会比较慢,会有遗漏,并且会丢失 PR,Issue。另外可以找一些迁移工具。但是目前应该还没有支持完全迁移的工具。本文介绍使用 gitlab_to_gitea 迁移的过程 … Continue reading

5月 28

Gitea:自建Git新选择

前些年自建 Git 的首选应该是 Gitlab,印象中 Gitlab 是非常臃肿的,对内存的需求比较大,最好是 4G 以上内存的机器。相比之下,Gitea 就很轻量级了,能够很好的节约系统资源。另外 Go 程序部署起来也更方便。还有一个比较实用的功能是,Gitea 支持全文搜索,而 Gitlab 社区版本不支持。和 Gerrit 对比,G … Continue reading

5月 27

删除位置错乱的Google自动广告

Google 自动广告总体感觉挺好,不丑,和网页融合也算比较好。但是因为是自动布局的,也会出现一些不理想的情况,比如把广告插入导航条内部。DokuWiki 出现过这种情况,WordPress 也会出现,特别是手机浏览器打开时。难道是我用的模板有什么不符合规范的地方吗? DokuWiki 的解决方案中,把出现在导航条内部的广告移到外部去了, … Continue reading

5月 27

自动更新Harbor仓库的描述信息

Harbor 镜像仓库可以添加描述信息,像 Docker Hub 那样,浏览镜像仓库,就能大致了解镜像的用途及使用方法。但是手动维护描述信息会很麻烦,更好的方案是直接将代码仓库的 README.md 文件自动更新到描述信息。本文记录了一种在 Drone CI 中通过定制 kaniko 插件来自动更新 Harbor 仓库描述信息的方案。 方 … Continue reading