Kubernetes部署失败-如何检查?

时间:2019-09-16 16:21:14

标签: kubernetes deployment

我有一个部署文件,当我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-是否有任何故障排除指南?例如,如何检查配置映射中的值是否正确拾取? 非常感谢-克里斯蒂安

2 个答案:

答案 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>

命令查看您的广告连播。要看到它们“交互”,您可以像这样将watchkubectl一起使用;

# 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>

希望有帮助。