分类: 云计算
-
针对Navicat连接阿里云RDS MySQL实例失败的问题,文章记录了申请外网地址后遇到的连接超时与访问权限错误处理过程。通过搜索获取当前公网网段并在RDS管理控制台数据安全性中设置白名单分组,解决了连接超时问题;随后将用户名从root修改为其他有效账户,最终成功建立连接并提示外网连接存在安全风险。
-
针对 Kubernetes 环境中容器缺少重启选项导致修改 PHP 文件后不立即生效的问题,文章介绍了一种在 CentOS 中批量终止 PHP 进程的解决流程。通过组合 ps、grep、cut 及 xargs 等命令查找并强制结束 PHP 进程以清除 Zend Opcache 缓存,最终验证页面刷新后内容即时更新,实现了在不重启容器的情况下的代码生效。
-
针对 Yii2 队列扩展 Redis 驱动中 info 命令显示 reserved 状态队列一直存在的问题,在确认系统日志无异常且还原队列作业代码后,虽能短暂恢复正常,但长时间运行后故障依旧。通过排查发现 attempts 选项生效但 reserved 状态仍积压,最终将 Supervisor 配置中的 numprocs 值调整为 2,启动多个 worker 后,该状态队列持续时间大幅缩短至 10 分钟左右,整体队列处理可在半小时内完成,问题得到有效解决。
-
针对阿里云 Redis 报错 Redis error ERR for redis cluster, eval/evalsha number of keys can’t be negative or zero 的问题,经参考开发者文档分析,这是由于云 Redis 集群对 Lua 脚本有限制,调用时必须携带 key,否则会直接返回错误。文章中采用了放弃使用阿里云 Redis 集群的方式使问题得以解决,并指出后续若要支持 Redis 集群,需要在程序层面进行调整。
-
CakePHP v2.6.4 运行中出现 SQLSTATE[HY000] [2002] Connection timed out 报错,经检查发现数据库主机地址配置为内网IP,导致容器无法访问。将该地址调整为外网IP后,打印数据库连接信息确认容器可以正常访问,问题得以解决。
-
针对产品部署时初始化数据的存储需求,文章阐述了在容器启动时将文件复制至 NAS 存储的实现方法。基于 CakePHP v2.6.4 框架,通过新建 Shell 脚本文件,编写了将本地目录下特定日期文件夹中的所有文件同步至挂载 NAS 存储目录的逻辑。操作中利用命令行工具执行同步任务,并配置了容器启动脚本自动运行该命令。最终经日志验证,文件成功复制至指定 NAS 路径,满足了自动化初始化存储的预期。
-
针对在 Rancher 中使用同一镜像地址升级容器时出现部分容器环境变量已替换、部分未替换的问题,本文通过对比日志和启动配置发现异常容器的入口点被设置为 /bin/bash 导致脚本未执行。解决方法是将入口点值修改为空并重新升级,此后容器正确执行 /config/bootstrap.sh 脚本,环境变量替换恢复正常且日志不再报错。
-
在 Jenkins 中构建镜像时报错 repository not found,提示 does not exist or no pull access。经排查,需要在 Build 配置的 Execute shell 中调整 Command,并正确修改用户名与密码的值。保存配置后再次构建,镜像构建成功,问题得到解决。
-
本文记录了在 Rancher 环境中解决 NAS 存储挂载失败的过程。起初配置卷映射后,容器日志出现变量未绑定错误且目录挂载不符合预期。通过在调度规则中指定特定主机进行升级,挂载恢复正常。经排查分析,原因是初始调度到的目标主机 lb 上不存在 /webtv 目录,而调整后的主机 wjdev02 上包含该路径,最终确认故障根源在于物理节点存储资源的差异。
