部署卡住

了解邀约匹配和失败的部署

使用 UI 调试服务部署

在下图中,Marathon 无法启动服务;DC/OS 显示警告消息,然后一条消息表示错误已清除,服务现在正在启动。

图 1 - 显示警告的“调试”选项卡

邀约匹配如何起作用

由于 Mesos 资源邀约无法匹配来自服务或 Pod [Marathon 应用定义]的资源请求,DC/OS 服务或 Pod 可能无法部署。(/mesosphere/dcos/cn/2.1/deploying-services/creating-services/).

  1. 您可以通过 DC/OS CLI () 或 DC/OS UI 将服务或 Pod 定义发布到 Marathon。应用定义指定资源要求、布局约束以及要启动的实例数。

  2. Marathon 将新服务或 Pod 添加到启动队列。

  3. Mesos 每 5 秒钟(默认值)按每个代理发送一个邀约。

注意:必须在单个主机上提供所需的全部资源。

为什么服务或 Pod 被卡住

您的服务或 Pod 可能无法部署的原因有很多。可能的情况包括:

  • Marathon 没有获得为启动应用程序所需的资源邀约。 使用 调试子命令或 DC/OS UI 中的调试页面 来解决来自 Mesos 的不匹配或未接受的资源邀约。您也可以 .

  • 服务的健康状况检查失败。如果服务执行健康状况检查,则在通过健康状况检查前,部署不会完成。您可以从 [DC/OS UI] 查看执行 Marathon 健康检查的服务的健康状况。(/mesosphere/dcos/cn/2.1/monitoring/debugging/gui-debugging/). 要通过 Marathon 健康检查了解有关服务健康状况的更多信息,请从 DC/OS CLI 运行

  • 您的应用或应用组定义配置不当。 DC/OS UI 对 Marathon 应用和 Pod 定义执行一些验证。