k8s准备情况探针-使用http get命令

时间:2019-11-26 09:58:47

标签: kubernetes

这个问题是关于k8s准备情况的。 我正在尝试将准备就绪探针卷曲中的命令添加到正在创建的新容器中。

我的意思是我想在终止旧的Pod之前检查创建的新Pod是否准备好接受流量。 我有一个在readines探针中执行的命令,所以我无法以这种方式添加httpGet:

readinessProbe:
  httpGet:
    path: /health

因为我看到有一个issue不能添加将要执行的httpGet&命令。

因此,我必须将此curl添加到每次在创建新pod之前运行的脚本中。

status=$( curl -s -o -k /dev/null -w %{http_code} /health); echo "statusCode: $status" if [ "$status" -ne "200" ]; exit 1 fi

我的问题是它不起作用,并且使用kubectl describe po XXXXX我看到以下输出:

 Readiness probe failed: statusCode: 000000 if [ 000000 -ne 200 ]

因此,我不确定如何向新Pod发出请求,因为在此级别中,我对新Pod唯一了解的就是它包含一个名为 health 的api。 / p>

我将请求正确吗?

1 个答案:

答案 0 :(得分:0)

您缺少一些冒号,然后又有一个。

您有:

status=$( curl -s -o -k /dev/null -w %{http_code} /health); echo "statusCode: $status" if [ "$status" -ne "200" ]; exit 1 fi

代替

status=$( curl -s -o -k /dev/null -w %{http_code} /health); echo "statusCode: $status"; if [ "$status" -ne "200" ]; then exit 1; fi