Zhengtianbao's Blog

2024 年的 vagrant 使用体验

「在我这是好的,不信你来看看」这是个程序员都明白的梗,背后反映出来的其实是软件开发环境与运行环境不一致的问题,基础设施、操作系统、版本、配置的差异都有可能导致异常情况的产生。避免各个环境的差异的关键点在于实现软件交付的可重复性,简单而言就是将每个步骤都像流水线一样记录下来形成脚本,这样无论脚本执行多少次,其结果都是可预测的。那么如何实现这种可重复性呢? 按照我的经验大概总结出以下: ...

博客「装修」小记

有段时间没有更新文章了,打开网站忽然就有了换个主题的念头,当时选择 White-Paper 是因为考虑到它足够简单,毕竟「less is more」,但是在使用过程中发现它对中文的支持有些水土不服,总结来看主要存在以下问题: h2,h3,h4 标题以及正文的中文大小显示差强人意 正文中列表显示效果差 正文中代码部分显示字体过小,且不提供粘贴按钮 文章的标签归档需要手动执行...

kubernetes cookbook 之优雅退出篇

云原生(cloud native)应用其中有一条就是能够快速迭代,应用不断升级过程中不可避免就是启停操作,删除旧版本,更新新版本,如果应用是部署在 kubernetes 上面的,那么 update deployment 过程中 kubelet 会发送 SIGTERM 信号给容器 PID 1 的进程,做为应用程序应当捕获这个信号,可以在真正退出之前做一些清理工作,例如通知注册中心自己已消亡。 ...

如何在个人 PC 上安装一个 rocky 版本的 openstack 集群

最近在做高校大数据实验室项目过程中发现,就场景而言相比较容器老师更容易接受虚拟机的模式,例如想让学生搭个 hadoop 集群,然后在此基础上做实验,就需要有一个直观的网络拓扑让学生理解。kubernetes 只暴露应用入口的设计原则显然不适合。因此,kubernetes on openstack 兴许是个好的解决方案。 openstack 已经发布到 rocky 版本了,各个核心组件已经相...