拓冰建站拓冰建站
首页 / 资讯中心 / 正文

如何升级 Linux 安装包部署的 Infisical,多节点环境如何做到最小停机?

如何升级 Linux 安装包部署的 Infisical多节点环境如何做到最小停机【免费下载链接】infisicalInfisical is the open-source platform for secrets, certificates, and privileged access management.项目地址: https://gitcode.com/GitHub_Trending/in/infisical本文面向使用 Linux 安装包.deb/.rpm包名infisical-core部署 Infisical 的运维人员。目标是在升级 Infisical 版本时单节点环境按标准流程短暂停机升级多节点高可用环境则通过逐节点摘流drain实现最小停机升级期间负载均衡器继续把流量分发给其余节点。需要先明确升级范围Linux 安装包只包含 Infisical 服务本身PostgreSQL 和 Redis 是独立管理的不属于本次升级内容来源linux-upgrade.mdx。官方文档还建议在规划升级时查看目标版本的 release notes确认是否有需要注意的变更。升级前确认当前版本并备份数据库查看当前安装的版本cat /opt/infisical-core/version-manifest.txt在输出中找到infisical组件它就是当前安装的 Infisical 版本记下它作为回滚目标。前置检查确认 PostgreSQL 和 Redis 实例都在运行升级前备份 PostgreSQL 数据库强烈建议浏览目标版本的 release notes留意破坏性变更或迁移说明。手动备份示例文档示例username、db-host、db-name需替换为你自己的数据库连接信息# Example PostgreSQL backup command (adjust parameters as needed) pg_dump -U username -h db-host -d db-name infisical_backup.sql了解数据库迁移的行为默认情况下Infisical 在启动时自动执行数据库迁移通过数据库锁保证同一时间只有一个实例执行迁移其他实例会等待锁释放后再继续启动这样可以避免多实例并发迁移导致的数据冲突。自v0.111.0-postgres之前schema 迁移需要在启动应用前手动执行现在这一步已并入启动流程来源upgrading-infisical.mdx。标准升级单节点可接受短暂停机适合单节点部署、或可以接受短暂下线的环境。1. 停止 Infisical 服务infisical-ctl stop2. 升级 Infisical 包升级到最新版本Debian/Ubuntusudo apt-get update sudo apt-get install -y infisical-coreRHEL/CentOS/Amazon Linuxsudo yum update infisical-core升级到指定版本时将version替换为目标版本号Debian/Ubuntusudo apt-get install -y infisical-coreversionRHEL/CentOS/Amazon Linuxsudo yum install infisical-core-version3. 应用配置infisical-ctl reconfigure4. 启动服务infisical-ctl start5. 验证升级infisical-ctl status再用日志确认没有异常infisical-ctl tail多节点最小停机升级该流程要求至少两个 Infisical 节点位于负载均衡器之后。文档将“draining”定义为把服务器从活跃节点池中优雅移出而不中断现有连接——负载均衡器停止向其发送新请求已有连接自然完成之后再安全下线维护。准备工作指定一个 deploy node任选一个节点执行数据库迁移该节点最先升级。配置负载均衡器健康检查确保负载均衡器能对 Infisical 的api/status端点做健康检查。在 deploy node 上操作1. 摘除流量按你使用的负载均衡器方式将该节点移出文档给出的常见做法NGINX编辑配置文件注释掉或移除对应 server 行然后sudo nginx -s reload配置文件路径按你的实际部署替换文档示例为/path/to/your/nginx-config.confHAProxy把服务器置为维护模式文档示例命令如下其中infisical_backend/infisical-node1与 socket 路径需按你的 HAProxy 配置替换# Using the HAProxy socket command echo disable server infisical_backend/infisical-node1 | socat stdio /var/lib/haproxy/statsAWS ALB/ELB通过控制台或 CLI 将实例从负载均衡器注销其他负载均衡器按各自文档执行摘流操作。2. 确认没有新流量进入该节点后再继续。3. 停止 Infisicalinfisical-ctl stop4. 升级 Infisical 包命令与标准升级完全相同sudo apt-get update sudo apt-get install -y infisical-core或sudo yum update infisical-core指定版本时替换version。5. 应用配置并启动服务infisical-ctl reconfigure6. 验证升级与迁移成功infisical-ctl tail在日志中寻找迁移成功的消息。这一步很关键deploy node 是第一个拿到新版本并执行迁移的节点迁移完成后其余节点启动时才能基于新 schema 正常工作。7. 将该节点重新加回负载均衡池用与摘除时相同的方式恢复。逐个处理其余节点一次一个对每个剩余节点重复以下动作按相同流程摘除流量等待现有连接完成确认节点不再收到请求infisical-ctl stop停止服务升级 Infisical 包命令同上infisical-ctl reconfigure应用配置并启动验证infisical-ctl status infisical-ctl tail确认日志显示服务正常启动、能连接数据库和 Redis 后再把节点加回负载均衡池检查日志与监控确认流量正常流转。全部节点升级完成后做一次功能验证测试核心功能并检查日志中是否有错误。需要回滚时怎么做如果升级到新版本后需要退回停止服务infisical-ctl stop安装之前的版本Debian/Ubuntusudo apt-get install -y infisical-coreprevious-versionRHEL/CentOS/Amazon Linuxsudo yum downgrade infisical-core-previous-versionprevious-version替换为回滚目标版本号即升级前version-manifest.txt里记下的版本从备份恢复数据库PostgreSQL/Redis重新启动infisical-ctl reconfigure验证infisical-ctl status官方文档对降级downgrade的额外强调最安全的做法是把应用和数据库一起恢复到已知良好的状态而不是尝试逐条回滚迁移不要在已经执行过新版本迁移的数据库上直接降级必须从升级前的快照恢复来源upgrading-infisical.mdx。常见故障排查迁移失败来源linux-upgrade.mdx查看日志infisical-ctl tail确认数据库用户有创建/修改表所需的权限若迁移反复失败考虑从升级前的备份恢复升级后服务无法启动检查配置错误infisical-ctl tail和infisical-ctl status确认/etc/infisical/infisical.rb中所有必需的环境变量都已设置另外升级后如果出现 UI 加载异常、组件渲染错误、浏览器控制台报错等现象多半是浏览器缓存了旧版本静态资源先用无痕窗口测试正常则按文档说明清除浏览器缓存或强制刷新来源upgrading-infisical.mdx。适用边界与进一步参考本文的升级对象是 Linux 安装包部署的infisical-corePostgreSQL 与 Redis 的升级不在文档覆盖范围内取决于你自己的数据库部署方式。多节点最小停机流程的前提是“至少两个节点 负载均衡器 对api/status的健康检查”不满足时只能走标准停机升级。多节点拓扑与负载均衡器配置如 HAProxy 对GET /api/status的健康检查示例可参考 Linux 高可用部署文档Linux 安装包的安装与平台支持范围见 installation.mdx。【免费下载链接】infisicalInfisical is the open-source platform for secrets, certificates, and privileged access management.项目地址: https://gitcode.com/GitHub_Trending/in/infisical创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门