还是没有进入while循环判断重启次数
时间: 2023-09-15 10:14:53 浏览: 81
监控php-fpm并自动重启服务的shell脚本
非常抱歉,我之前的回答有误。检查部署状态和重启次数的逻辑存在问题。以下是修正后的代码片段:
```bash
#!/bin/bash
max_restart_count=1
restart_count=0
while true; do
status=$(kubectl rollout status deployment ${APP_NAME} -n ${NAMESPACE})
if [[ $status == *"successfully rolled out"* ]]; then
echo "Deploy ${APP_NAME} rolled out successfully"
break
fi
restart_count=$(kubectl get pods -l app=${APP_NAME} -n ${NAMESPACE} -o jsonpath='{range .items[*]}{@.status.containerStatuses[0].restartCount}' | awk '{ sum += $1 } END { print sum }')
if ((restart_count > max_restart_count)); then
echo "Pod restart count exceeded the threshold. Deployment ${APP_NAME} failed."
exit 1
fi
sleep 5
done
```
在修正后的代码中,我将获取重启次数的命令进行了调整,并将 awk 命令移动到了 jsonpath 表达式的外部。这样可以确保求和操作正常工作。
再次对之前的错误表示歉意,希望这次的修正能够解决问题。如果您还有其他问题,请随时提问。
阅读全文