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

比如对于 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

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

回答

开始采用的是通过 $? 对 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
以上是如何用 shell 脚本检查对应的 k8s ConfigMap 是否存在的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>