本文介绍使用Argo Events做流水线时遇到一个修改了sensor资源但是环境怎么都更新不了的坑。
一、场景回顾
- 修改了一个Argo Events 的 sensor 资源,然后在ArgoCD上进行了同步,所有都显示绿的。但是,发现修改没有生效。
二、原因分析
kubectl get pod -n argo-events
NAME READY STATUS RESTARTS AGE
eventbus-controller-64886849bc-h5xl7 1/1 Running 0 27d
eventsource-controller-68fc7f49d7-n4f7j 1/1 Running 0 27d
sensor-controller-79f54dd9b5-6ncbd 1/1 Running 0 27d
kubectl get pod -n argo
NAME READY STATUS RESTARTS AGE
eventbus-default-stan-0 2/2 Running 0 27d
eventbus-default-stan-1 2/2 Running 0 27d
eventbus-default-stan-2 2/2 Running 0 27d
webhook-for-java-eventsource-g45xx-779f77fb5c-k4dp7 1/1 Running 0 24d
webhook-sensor-cng4t-7f84546d8d-667sq 1/1 Running 0 44h
MBC02GKDSKMD6M:~ sailor.wu$ kubectl get deploy -n argo
NAME READY UP-TO-DATE AVAILABLE AGE
webhook-for-java-eventsource-g45xx 1/1 1 1 24d
webhook-sensor-cng4t 1/1 1 1 44h
workflow-controller 1/1 1 1 33d
如上图,webhook-sensor-cng4t这个deploy是由argo-events下的sensor-controller生成的。
我进行了sensor的文件修改,但是修改错了格式,所以sensor-controller并没有成功触发生成新的deployment。
正确修改sensor后,再用argoCD进行同步,发现重新生成了一个新的deploy。
三、总结
修改sensor后,deploy肯定会重新生成的,一定要关注有没有变更。 如果deploy没有重新生成,那就要去看sensor的格式是不是有问题了。