4.8. 故障排除和调试操作
4.8.1. debug 复制链接链接已复制到粘贴板!
启动一个 shell 以调试正在运行的应用程序。
oc debug -h
$ oc debug -h
调试镜像并设置问题时,您可以获取正在运行的 pod 配置的确切副本,并使用 shell 进行故障排除。因为一个失败的 pod 可能无法启动且无法被 rsh 或 exec 访问,运行 debug 命令会创建那个设置的 carbon 副本。
默认模式是在引用的 pod、复制控制器或部署配置的第一个容器内启动 shell。启动的 pod 将是源 pod 的副本,其标签会剥离,命令的变为 /bin/sh,并且禁用就绪度和存活度检查。如果您只想运行命令,请添加 -- 和要运行的命令。默认情况下,传递命令将不会创建 TTY 或发送 STDIN。其他标记支持以常见方式更改容器或 pod。
运行容器的常见问题是一个安全策略,它会阻止您在集群中以 root 用户身份运行。您可以使用此命令测试以非 root 运行 pod(使用 --as-user)或以 root 身份运行非 root pod(使用 --as-root)。
当远程命令完成或中断 shell 时,调试 pod 将被删除。
4.8.1.1. 用法 复制链接链接已复制到粘贴板!
oc debug RESOURCE/NAME [ENV1=VAL1 ...] [-c CONTAINER] [options] [-- COMMAND]
$ oc debug RESOURCE/NAME [ENV1=VAL1 ...] [-c CONTAINER] [options] [-- COMMAND]
4.8.1.2. 示例 复制链接链接已复制到粘贴板!
调试当前运行的部署:
oc debug dc/test
$ oc debug dc/test
要测试以非 root 用户身份运行部署:
oc debug dc/test --as-user=1000000
$ oc debug dc/test --as-user=1000000
要在 第二个 容器中运行 env 命令来调试特定的故障容器:
oc debug dc/test -c second -- /bin/env
$ oc debug dc/test -c second -- /bin/env
查看创建要调试的 pod:
oc debug dc/test -o yaml
$ oc debug dc/test -o yaml