我将基于传递给Jenkins bash部署脚本的某些可切换的环境变量来创建HPA。
有三个条件:
在重新添加incase max/min pods或cpu阈值有changed之前,
在项目中,it
在项目中,
这是我正在运行的bash的实际行:
hpaExists=`kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}'
代码运行良好,但如果没有找到hpa,则在控制台中显示此错误:
Error from server (NotFound): horizontalpodautoscalers.autoscaling "${APP_NAME}" not found
从技术上讲,错误发生没有问题,但我知道,在运行Jenkins部署作业以查看错误消息时,这会使开发人员和QA感到困惑,我想抑制它。
我试过了:kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}' > /dev/null
kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}' > /dev/null 2>&1
kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}' 2> /dev/null
kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}' || true
kubectl get hpa/${APP_NAME} --no-headers | awk '{print $1}' &> /dev/null
所有这些都仍然打印错误消息。
所以我有两个问题:
谢谢
发布于 2022-09-30 14:50:30
假设此错误消息来自kubectl,则需要重定向管道一侧的stderr。
kubectl get hpa/${APP_NAME} --no-headers 2>/dev/null | awk '{print $1}'
管道中的每个进程都有自己的stdin、stdout和stderr。第一个进程的stdout连接到第二个进程的stdin,但是stderr与通常的位置相同,除非您告诉它去其他地方。
https://stackoverflow.com/questions/73910075
复制相似问题