变更流程问题排查指南

当您在EDAS上进行应用部署、启动、扩容/缩容等操作时,应用变更记录将整个变更过程以可视化的方式展现给您。您可以直观的看到变更流程的进度。如果变更失败,您可以在变更详情中查询变更流程中哪些步骤执行失败了,以及失败的原因。

排查变更失败问题

执行应用变更操作后,可以跳转到应用详情页,通过变更流程排查变更失败问题。

  1. 在应用详情页面左侧的导航栏中单击变更记录

    查看变更记录列表

    如果某次变更失败,则在变更状态列会显示执行失败

  2. 变更记录页面执行失败的变更记录的操作列单击查看

  3. 变更详情页面的第一批部署(取决于您在部署该应用时设置的分批数。如果您设置了2批部署,则会有第一批部署第二批部署两个页面。)区域单击失败的阶段(如执行部署),在右侧实例中查看失败步骤的具体日志,定位问题。

    查看执行失败的变更记录

应用变更典型异常及处理

下面介绍应用变更时的几种典型异常如何通过变更流程排查及处理。

端口健康检查异常导致变更失败端口健康检查导致变更失败

可能原因

  • 应用启动时应该被正常占用的65000端口不可访问。

  • 客户的Tomcat容器没有正常启动。

处理方法

查看应用日志是否有相应的异常日志。

URL健康检查失败导致变更失败

如果用户配置了健康检查URL,应用在启动时会检查这个URL是否可以正常访问。在收到Http code为200的返回码后,应用发布流程才会继续进行。如果在3分钟的健康检查周期内都收到错误的响应(非200),则认为URL健康检查失败。

查看执行失败的变更记录处理方法

  • 应用启动失败,需要检查应用日志是否正常启动。

  • 检查URL地址是否配置出错。

  • 检查应用是否配置了拦截器,拦截了对HTTP健康检查URL的请求。

处理完成后,再次部署应用。

磁盘满导致变更失败

    磁盘满会导致在变更流程中,应用长时间处于某个阶段。磁盘满导致变更失败

报错信息

[EDAS-10000] 磁盘上没有剩余空间了No space left on device. Free space (for /home/admin) in bytes: 0exit 1。说明机器的磁盘满了,一般是应用的业务日志将磁盘打满了,此时需要用户清理应用日志。

处理方法

  • ECS集群应用需要登录ECS清理磁盘上的日志。

  • Swarm集群下的Docker应用则需要重置应用。重置后,容器会被停止、删掉,然后重建。这样磁盘空间就会被释放出来。

缺少服务关联角色导致变更失败

image.png

可能原因

由于您的账号没有开通服务关联角色AliyunServiceRoleForAutoScaling。该角色可以使弹性伸缩服务获得关联云资源的访问权限,例如ECS、VPC等的访问权限。

处理方法

在ESS控制台开通服务关联角色AliyunServiceRoleForAutoScaling。具体操作,请参见授予弹性伸缩服务权限