部署卡住
了解邀约匹配和失败的部署
邀约匹配如何起作用
以下是对邀约匹配过程的概述。
Marathon 将新服务或 Pod 添加到启动队列。
对于每个资源邀约,Marathon 检查启动队列中是否有其要求均匹配邀约的服务或 Pod。如果 Marathon 发现存在其要求匹配邀约的服务或 Pod,Marathon 将启动该服务。
注意:必须在单个主机上提供所需的全部资源。
为什么服务或 Pod 被卡住
Marathon 没有获得为启动应用程序所需的资源邀约。 使用 调试子命令或 DC/OS Web 界面中的调试页面 来解决来自 Mesos 的不匹配或未接受的资源邀约。您也可以 。
服务的健康状况检查失败。如果服务执行健康状况检查,则在通过健康状况检查前,部署不会完成。您可以从 DC/OS Web 界面 查看执行 Marathon 健康检查的服务的健康状况。要通过 Marathon 健康检查了解有关服务健康状况的更多信息,请从 DC/OS CLI 运行 。
出现故障。 如果应用程序在 Docker 镜像中运行,Mesos 代理节点将首先需要拉取 Docker 镜像。如果出现故障,应用程序可能会陷入“正在部署”状态。Mesos 代理节点日志 () 将包含此信息。您将在日志中看到类似以下内容的错误。