在EDAS上成功创建K8s应用但未运行时,可能是由于配置问题或资源限制导致的。以下是详细的排查和解决步骤:
1. 检查Pod运行状态
- 登录EDAS控制台,进入应用管理 > 应用列表页面。
- 找到目标应用,单击应用名称进入应用总览页面。
- 查看实例Pod的运行状态。如果状态为未运行或异常,需要进一步排查原因。
2. 查看事件日志
- 在应用总览页面,单击Pod的运行状态,跳转至工作负载(Deployment)或容器组(Pod)详情页。
- 检查Pod的事件日志,查看是否有错误信息。常见问题包括:
- 镜像拉取失败:确认镜像地址是否正确,以及是否具有访问权限。
- 资源不足:确认集群中是否有足够的CPU和内存资源。
- 探针配置错误:检查
livenessProbe
或readinessProbe
配置是否合理。
3. 验证资源配置
- 确认应用的资源配置是否符合要求:
- CPU和内存:EDAS当前仅支持解析CPU和内存资源限制,确保配置值合理且不超过集群可用资源。
- 端口配置:EDAS不支持直接配置
container.ports
,需通过控制台完成相关设置。
- 存储挂载:如果使用了存储卷,需通过EDAS控制台配置本地存储。
4. 重新部署应用
- 如果Pod未能正常启动,尝试重新部署应用以解决问题:
- 在EDAS控制台的应用总览页面,单击重新部署。
- 或者通过命令行添加以下注解并重新部署:
kubectl annotate deployments/<deployment-name> edas.alibabacloud.com/immediate-rollout=true
- 部署完成后,再次检查Pod运行状态。
5. 检查微服务空间和网络配置
- 确认应用是否已正确分配到目标微服务空间:
- 检查网络配置,确保Pod能够正常访问外部依赖(如数据库、消息队列等)。
6. 启用监控和诊断工具
- EDAS默认集成了ARMS监控组件和Prometheus监控组件,可通过以下方式启用监控:
- 在应用总览页面,单击监控 > 实例监控,查看ARMS监控信息。
- 如果监控功能未启用,可能需要重新部署应用以加载监控Agent。
7. 联系技术支持
- 如果以上步骤仍无法解决问题,建议联系阿里云技术支持,提供以下信息以便快速定位问题:
- 应用名称、Pod名称及运行状态。
- Pod事件日志和错误信息。
- 集群资源使用情况(CPU、内存等)。
通过以上步骤,您可以系统性地排查和解决EDAS上K8s应用未运行的问题。