从 DC/OS CLI 调试

从命令行界面调试 DC/OS

有关日志级别的更多信息,请参阅 或运行 dcos --help.

调试被卡住部署的子命令

DC/OS CLI 提供一组调试子命令,用于排除卡住的服务或 Pod 部署。您也可以从 [DC/OS UI]使用调试服务和 Pod。(/mesosphere/dcos/cn/2.1/monitoring/debugging/gui-debugging/).

如果您目前没有在部署时卡住的服务或 Pod,您可以使用以下两个 来验证本节的说明。

  • mem-app.json

    1. {
    2. "id": "mem-app",
    3. "cpus": 0.1,
    4. "mem": 12000,
    5. "instances": 3,
    6. "constraints": [
    7. [
    8. "UNIQUE"
    9. ]
    10. ]
    11. }
  • stuck-sleep.json

    此服务请求过多实例。

dcos marathon debug list(/mesosphere/dcos/cn/2.1/cli/command-reference/dcos-marathon/dcos-marathon-debug-list/) 命令向您显示处于等待状态的所有服务。这让您能够只查看未在运行的服务。

  1. dcos marathon debug list
  2. /mem-app 2017-02-28T19:08:59.547Z 3 True 13 13 2017-02-28T19:09:35.607Z ---

命令的输出表明:

  • 多少个服务或 Pod 的实例在等待启动。
  • 多少个 Mesos 资源邀约已处理。
  • 多少个 Mesos 资源邀约未使用
  • 用户创建或更新服务或 Pod 的时间。

一旦您知道哪些服务或 pod 在部署中停滞不前,请使用 dcos marathon debug summary /<app-id>|/<pod-id>命令了解有关具体卡壳服务或 pod 的更多信息。

此命令的输出显示了资源、请求的服务或 Pod、匹配的邀约数,以及匹配邀约的百分比。此命令可以快速显示哪些资源请求未被满足。

dcos marathon debug details /<app-id>|/<pod-id> 命令](/mesosphere/dcos/cn/2.1/cli/command-reference/dcos-marathon/dcos-marathon-debug-details/) 可以让您确切了解应当如何更改您的服务或 Pod 定义。

  1. dcos marathon debug details /mem-app
  2. HOSTNAME ROLE CONSTRAINTS CPUS MEM DISK PORTS RECEIVED
  3. 10.0.0.193 ok ok ok - ok ok 2017-02-28T23:25:11.912Z
  4. 10.0.4.126 - ok - - ok - 2017-02-28T23:25:11.913Z

命令的输出表明:

  • 哪些主机正在运行服务或 Pod
  • 服务或 Pod 请求的角色、约束、CPU、内存、磁盘和端口的状态

有关此命令的更多信息,请参阅 .