我有一个部署文件,当我fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "At <PathForAnsible>AnsiballZ_win_shell.ps1:151 char:1\r\n+ \u0000\u0000\u0000\u0000{\"module_entry\": \"IyFwb3dlcnNoZWxsCgojIENvcHlyaWdodDogKGMpIDIwMTc ...\r\n+ ~\r\nUnexpected token '\u0000' in expression or statement.\r\n + CategoryInfo : ParserError: (:) [], ParseException\r\n + FullyQualifiedErrorId : UnexpectedToken\r\n \r\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
进行一些重启和崩溃后,我的Pod没有被部署。因此,我的问题是:
1-如果我将副本设置为1,是否有一种方法可以让我在终端中看到发生了什么事的“交互”模式?
2-有什么方法可以限制-在部署文件中-重新启动的次数?可以为pod(restartPolicy ...)指定此名称,但显然不能为其进行部署吗?
3-是否有任何故障排除指南?例如,如何检查配置映射中的值是否正确拾取? 非常感谢-克里斯蒂安
答案 0 :(得分:1)
如果您的Pod已成功调度并启动,但是容器内的应用程序崩溃,则通常kubectl logs
将能够向您显示已写入容器内stdout / stderr的日志。 / p>
例如kubectl logs -n your-namespace your-pod-name
您也可以尾部或头部记录。例如
kubectl logs -n your-namespace your-pod-name --tail=50
(用于最后50条日志行)kubectl logs -n your-namespace your-pod-name -f
(遵循日志)否则,如果您的容器未能通过kubernetes进行调度,则描述可能是一个更好的选择。
例如kubectl -n your-namespace describe your-pod-name
Here是与正在运行(但尚未崩溃)的pod进行交互的其他一些有用示例。
答案 1 :(得分:0)
1)您可以使用
# kubectl get pods -n <your namespace>
命令查看您的广告连播。要看到它们“交互”,您可以像这样将watch
与kubectl
一起使用;
# watch kubectl get pods -n <your-namespace>
2)当前,没有办法限制Pod重新启动次数。
3)您可以查看使用kubectl describe
命令创建的部署和Pod的情况。
要获取有关广告连播状态的信息,
# kubectl get pods -n <your-namespace> --> here you can get your pod's name.
# kubectl describe po <pod-name> -n <your-namespace>
要获取有关部署状态的信息,
# kubectl get deployments -n <your-namespace> --> here you can get your deployment's name.
# kubectl describe deployment <deployment-name> -n <your-namespace>
希望有帮助。