2024 PTS - 第四天 - 阳光来了……一切都好!
内容提要
我们选择Hetzner进行托管Kubernetes,但不确定ElasticSearch集群将在哪里托管。幸运的是,ElasticSearch同意为我们托管,我们选择了Digital Ocean(DO)。DO提供完全托管的Kubernetes控制平面,具有高可用负载均衡器、Postgres数据库集成和存储选项。我们已成功将所有清单更新为在DO上运行,并进行了测试。我们还设置了nginx进行内部负载均衡。我们已经成功上线grep.metacpan.org,并取得了很大的成就。感谢赞助商:Booking.com、The Perl and Raku Foundation、Deriv、cPanel、Inc Japan Perl Association。
延伸解读
从自管到托管:成本与精力的权衡
团队最初为节省成本选择Hetzner自管Kubernetes,但维护负担成为项目干扰。转向Digital Ocean的完全托管控制平面后,他们能专注于部署而非管理。这反映了在资源有限的开源项目中,托管服务虽可能增加费用,却能释放人力,加速关键任务。
ElasticSearch托管:游戏规则的改变
ElasticSearch集群需要3x32GB内存,其托管地点一直未定。上周ElasticSearch同意代为托管,消除了一个重大不确定性。这使得团队能重新评估整体托管方案,并顺利迁移至Digital Ocean。外部支持对开源项目的基础设施稳定至关重要。
快速迁移与验证:节点故障测试
团队在几小时内更新了所有清单至DO,并设置nginx内部负载均衡。他们启动Web前端并测试停止一个节点,一切正常。随后切换Fastly生产流量至新集群,目前运行良好。这种快速迭代和故障演练确保了迁移的可靠性。
grep.metacpan.org上线:协作与坚持
grep.metacpan.org需要克隆大型仓库,耗时较长。团队在晚上8:40开始初始设置,期间Joel还抽空为家人买蛋挞,但次日早上服务成功上线。这体现了PTS活动中面对面协作的高效,以及成员在紧张工作中的幽默与坚持。
Q&A
为什么选择Digital Ocean进行Kubernetes托管?
选择Digital Ocean是因为它提供完全托管的Kubernetes控制平面,具备高可用负载均衡器、Postgres数据库集成和存储选项。
ElasticSearch集群的托管决定是什么?
ElasticSearch同意为我们托管集群,最终选择了Digital Ocean作为托管地点。
在Digital Ocean上部署的过程是怎样的?
我们更新了所有清单以在Digital Ocean上运行,并设置了nginx进行内部负载均衡,最终成功上线了grep.metacpan.org。
MetaCPAN在使用托管服务后有什么变化?
使用托管服务后,MetaCPAN的整体位置更强,团队对设置的理解也更深入。
在项目中遇到的主要挑战是什么?
主要挑战是Kubernetes的管理问题,尤其是在选择托管ElasticSearch集群时的不确定性。
有哪些赞助商支持这个项目?
赞助商包括Booking.com、The Perl and Raku Foundation、Deriv、cPanel、Inc Japan Perl Association等。