32

有没有办法在创建 Pod 后获取有关 Kubernetes 发生的事情的日志信息。kubectl get pods仅提供基本状态消息。在下载大图像的情况下,这可能需要一些时间,并且该kubectl log命令此时不提供任何真实信息。此命令似乎仅在容器运行时提供信息。

有没有办法获取有关 Kubernetes pod 当前状态的更多日志信息。直接调用docker pull会提供下载状态信息,但这在 Kubernetes 中并不明显。

4

3 回答 3

9

不幸的是,Kubernetes 目前没有公开docker pull. 我认为您最好的选择是查看 pod 安排到的机器上的 /var/log/docker.log 。

于 2015-02-05T23:26:14.457 回答
8

要添加到先前的答案,如果您使用带有 systemd 的现代工作人员,您可能根本没有/var/log/docker.log文件。

您可以通过以下方式查看下载是否处于活动状态(在 ubuntu/conjure-up 上):

  • bmon在工作人员(或其管理程序)上运行带宽监控工具
  • 检查工作人员的下载文件进度:du -s /var/lib/docker/tmp
  • 检查 systemd 日志:journalctl --unit docker
  • 下载完成后,文件将从 tmp 目录中删除

如果您看到以下消息:Handler for GET /v1.26/images/docker.io/XXX/XXX:latest/json returned error: No such image: docker.io/XXX/XXX:latest-那么我认为这意味着该图像不可用并且将被下载,而不是它不存在远程;-)

于 2018-01-06T11:21:01.637 回答
0

我认为有一种可能的方法是先下载图像然后部署 Nginx。

  • 对于minikube用户,您可以运行:
minikube image load <image-name>
  • 对于我的情况的Kind用户:
kind load docker-image <image-name> --name k8s-cluster

这样你可以通过集群跟踪图片拉取,这至少可以帮助你了解图片下载进度。

于 2022-02-05T02:47:22.453 回答