gpt4 book ai didi

node.js - 如果容器处于 CrashLoopBackOff 状态,如何执行到容器并查看文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:14 25 4
gpt4 key购买 nike

我正在 kubernetes 上运行基于 nodejs 的应用程序,并且它处于 CrashLoopBackOff 状态。

kubectl logs api-5db677ff5-p824m

> api@0.0.1 staging /home/node
> NODE_ENV=staging node src/loader.js

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! api@0.0.1 staging: `NODE_ENV=staging node src/loader.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the api@0.0.1 staging script.
npm ERR! This is probably not a problem with npm. There is likely additional
logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/node/.npm/_logs/2019-04-04T14_24_26_908Z-debug.log

日志中的信息不多,我无法从容器中的给定路径访问完整的日志文件。

当我尝试检查容器中的该文件时:

kubectl exec -it api-5db677ff5-p824m -- /bin/bash

它给了我这个错误:

error: unable to upgrade connection: container not found ("api")

最佳答案

如果您有权访问 k8s Node ,则可以访问 /var/log/pods 中(所有)Pod 的日志。

或者,您可以尝试将 PVC 安装到您的 Node Pod 并配置您的 Node 应用程序以写入日志。这将确保容器崩溃时您的崩溃日志不会被破坏。

另一种类似的方法是使用 sleep 3600 覆盖 pod 容器命令,然后 exec 进入容器以手动运行 Node 应用程序。一旦 Node 进程崩溃并写入日志,您就可以查看它们(在容器内)。

希望这有帮助!

关于node.js - 如果容器处于 CrashLoopBackOff 状态,如何执行到容器并查看文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55518892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com