Homelab k8s 上的 Argo CD GitOps 实践
我的 homelab 有一个使用 PVE 虚拟机部署的 3 节点 k8s 集群。我希望用一个 Git 仓库作为这个集群期望状态的唯一来源:所有基础设施变更先经过 review 提交到仓库,再由 Argo CD(CD 即 Continuous Delivery,持续交付)自动同步到集群。 ...
我的 homelab 有一个使用 PVE 虚拟机部署的 3 节点 k8s 集群。我希望用一个 Git 仓库作为这个集群期望状态的唯一来源:所有基础设施变更先经过 review 提交到仓库,再由 Argo CD(CD 即 Continuous Delivery,持续交付)自动同步到集群。 ...
私有化交付场景下的 License 机制有一个基本前提:软件最终运行在客户的环境里,而客户拥有那台机器上的 root、硬件和网络。这意味着我们既不能假设本地时钟可信,也不能假设程序里的校验逻辑不可绕过——只要对方有足够决心,总可以 patch 二进制。 ...
最近正在给公司重构一套独立的用户管理和认证鉴权组件。AuthX 启动时会做幂等初始化(bootstrap):表结构迁移、创建默认管理员、创建预配置的服务账号。单实例下这套逻辑没有问题,但生产是多副本形态——K8s 滚动发布或 HPA 扩容时,多个副本可能同时执行这段代码。本文记录这个并发问题的处理过程:悲观锁、乐观锁、upsert 三种方案的取舍,以及 MySQL 唯一索引中 NULL 值带来的一个问题。 ...
手头有一台 PVE(Proxmox VE)宿主机,希望在其上创建 3 台 Ubuntu 虚拟机,搭建一个 1 控制面 + 2 工作节点的 Kubernetes 集群,用于学习和测试。 国内环境的主要障碍是网络:k8s 官方 apt 源(pkgs.k8s.io)、镜像仓库(registry.k8s.io、quay.io、docker.io)以及 GitHub raw 均无法直接稳定访问,需要全程替换为国内镜像。本文使用的替代方案: ...