4.8. 故障排除和调试操作


4.8.1. debug

启动一个 shell 以调试正在运行的应用程序。

$ oc debug -h

调试镜像并设置问题时,您可以获取正在运行的 pod 配置的确切副本,并使用 shell 进行故障排除。因为一个失败的 pod 可能无法启动且无法被 rshexec 访问,运行 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]

4.8.1.2. 示例

调试当前运行的部署:

$ oc debug dc/test

要测试以非 root 用户身份运行部署:

$ oc debug dc/test --as-user=1000000

要在 第二个 容器中运行 env 命令来调试特定的故障容器:

$ oc debug dc/test -c second -- /bin/env

查看创建要调试的 pod:

$ oc debug dc/test -o yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.