首页 新闻 会员 周边 捐助

如何用 shell 脚本检查对应的 k8s ConfigMap 是否存在

0
悬赏园豆:30 [已解决问题] 解决于 2022-05-26 13:28

比如对于 kubectl get cm macl-api-appsetttings 命令,如果 ConfigMap 不存在,输出

Error from server (NotFound): configmaps "macl-api-appsetttings" not found

如果存在,输出

NAME                   DATA   AGE
macl-api-appsettings   1      63m

请问如何用脚本实现自动检查?

dudu的主页 dudu | 高人七级 | 园豆:30734
提问于:2022-05-26 11:23
< >
分享
最佳答案
0

开始采用的是通过 $? 对 exit code 进行判断

kubectl get cm macl-api-appsettings > /dev/null
if [ $? != 0 ] ; then
  kubectl create configmap ...
fi

但发现脚本文件中有 set -e,ConfigMap 不存在时脚本就直接退出了,走不到下面的判断代码。

后来改为根据命令输出内容是否为空进行判断

if [[ ! $(kubectl get cm | grep $CM_NAME) ]] ; then
  kubectl create configmap ...
fi
dudu | 高人七级 |园豆:30734 | 2022-05-26 13:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册