Ron*_*tel 4 node.js docker kubernetes
我正在运行nodejs基于应用程序kubernetes并且它处于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
Run Code Online (Sandbox Code Playgroud)
日志中的信息不多,我无法从容器中的给定路径访问完整的日志文件。
当我尝试在容器中检查该文件时:
kubectl exec -it api-5db677ff5-p824m -- /bin/bash
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
错误:无法升级连接:找不到容器(“api”)
如果您有权访问 k8s 节点,则可以访问(所有)pod 的日志/var/log/pods。
或者,您可以尝试将 PVC 挂载到您的节点 pod 并将您的节点应用程序配置为写入那里的日志。这将确保您的崩溃日志在容器崩溃时不会被破坏。
另一种类似的方法是覆盖您的 pod 容器命令,sleep 3600然后exec进入容器以手动运行您的节点应用程序。一旦节点进程崩溃并写入日志,您就可以查看它们(在容器内)。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
3726 次 |
| 最近记录: |