分类: Rancher 2.3
-
容器更换基础镜像后,在特定 Rancher 环境变量开启时启动失败并提示模块已加载。经排查,原因为命令行执行时重复加载了 gd、exif 和 sockets 扩展。最终通过修改 Dockerfile,利用 sed 命令从配置文件中删除对应扩展的加载项,解决了重复加载报错问题,确保了容器在环境变量开启时成功启动。
-
针对后台关闭列表项后接口响应数据在几分钟内反复出现与消失的问题,经排查确认根源在于 Varnish 部署架构。Rancher 环境中发现运行着 3 个 Varnish 容器,由于负载均衡导致每次请求落在不同服务器,各节点缓存未同步且出现资源浪费,进而造成响应数据不一致。最终结论是现阶段缓存列表接口应配置为单机部署,若使用集群部署建议仅支持详情接口。
-
在 Rancher 环境中发现配置的环境变量在容器日志中缺失,导致配置文件内的部分变量未被替换。排查发现缺失变量前缀不同,调整前缀及配置文件命名后问题依旧。进一步检查初始化日志发现路径报错,通过修改脚本将相对路径更正为绝对路径。最终验证日志显示全部变量生效,配置文件中的变量也已成功替换。
-
针对在 Rancher 2.3 版本中添加健康检查后容器无法启动的问题,经排查发现容器内部调用健康检查接口是正常的。故障表现为工作负载升级时一直处于 Upgrading 状态,Pod 状态显示为 ContainerCreating。通过先将健康检查全部设置为空以完成升级,并强制删除工作负载中的所有 Pods,之后再次重新添加健康检查配置进行升级,最终成功解决了该问题。
-
在 Rancher 升级容器时遇到数据库迁移重复执行导致报错的问题。经分析,原因是数据库迁移耗时过长致使容器初始化超时,引发健康检查失败和容器反复重启。虽然调整了就绪检测时间,但初始化部署仍报超时。检查 MySQL 发现,特定迁移记录虽不存在于迁移表,但表结构已是执行后的结果,表明迁移曾在后台完成。最终确认需进一步优化检测配置以解决初始化阶段的冲突。
