2016-07-22 39 views
2

我查看了文档并浏览了源代码,但似乎无法弄清楚如何执行此操作。在实现Kubernetes活性探测器时,是否有任何方式将查询字符串参数与路径一起发送?带查询字符串参数的Kubernetes活性探测

我送的字符串,它看起来是这样的:

/api/v1?q=... 

成为URL编码和命中服务器:

/api/v1%3fq=... 

正如我在这个特殊的API没有这样的途径,我得到了一个404,并且Kube在分配的超时之后收回了豆荚。

是否有任何方法来定义查询字符串参数生存探测和/或欺骗URI编码器以允许查询字符串参数?

回答

2

编辑:现在应该在Kubernetes 1.3中修复。感谢Rudi C指出了这一点。

Kubernetes v1.2中的活动性探测器不支持传递查询参数。

This Issue在Deis Controller回购中有很好的解释。要点是LivenessProbe.HttpGet.Path被视为一个真正的URL路径(需要将“?”转义为“%3f”)。

我打开了一个针对Kubernetes的feature request Issue来讨论添加查询参数。

作为一种变通方法,您可以使用一个exec livenessProbe,包括查询参数(只要你的容器包括像wget或curl):

livenessProbe: 
    exec: 
    command: 
    - wget 
    - /api/v1?q=... 
+0

这将是我的备份策略 - 我们使用非常精简的不包含curl/wget的pod,但似乎有责任在这里打电话......谢谢您的回复! – Josh

+1

我认为鲁迪是对的。这现在应该直接在> = 1.3.0中工作。 –