我试图确切地了解kubernetes命令探针的工作方式,但是有关此文档的内容还很干燥。
我在kubernetes命令探针上发现的每个示例都提供了相同类型的代码:
livenessProbe:
exec:
command:
- cat
- /tmp/healthy
我似乎可以将任何命令传递给exec对象。所以我的问题是:
- probes命令的其他好例子是什么?
- kubernetes将如何确定命令的结果是成功还是失败?
您可以将任何命令作为exec
探针传递。
容器的健康状态为determined by the exit code。如果命令成功执行,则返回0
,并且kubelet
认为容器是健康的。与退出代码0
不同的内容均被视为不健康。
某些应用程序提供用于运行状况检查的二进制文件/脚本。
示例:
rabbitmq-api-check
pg_isready
mysqladmin ping
当您需要使用预期的健康状况逻辑定义整个脚本时,使用exec
探针也很有用。
cat
是一个很好的exec命令探针。但是任何linux命令都是有效的。