英文:
Unable to update or delete existing argo events sensor and EventSource
问题
遇到问题,尝试修改或删除现有的 argo 事件传感器。
尝试修改传感器
- 我尝试对现有的传感器进行更改。
 - 但新更改没有生效。当触发它时,它仍在使用旧触发器。
 
尝试删除传感器
- 无法删除。
kubectl delete永远挂起。唯一的方法是删除整个命名空间。 
使用:
- Argo 事件版本 - v1.7.5
 - Kubernetes - v1.24.4+k3s1(在本地 - 使用 K3d 的 Docker-Desktop 进行测试)
 
由于在生产环境中删除一切并重新操作不是一个选项,我想知道这是否是 argo 事件的已知问题,或者我是否做错了什么。
英文:
Experiencing issue while modifying or deleting an existing argo events sensor.
Tried to modify a sensor
- I tried to apply changes to an existing sensor.
 - But new changes are not taking effect. When it gets triggered, it is still using old triggers.
 
Tried to delete a sensor
- Unable to delete. 
kubectl deletehangs forever. Only way is to delete whole namespace. 
Using :
- Argo-events version - v1.7.5
 - Kubernetes - v1.24.4+k3s1 ( testing in local - docker-desktop with K3d )
 
Since deleting everything & redoing is not an option when working in production environment, like to know if it's a known issue with argo-events or if I am doing something wrong.
答案1
得分: 1
截至v1.7.5版本,default sensor和eventSource kubernetes资源yaml值中存在一个bug。
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
.....
  finalizers:
  - sensor-controller
.....
- 它的finalizers为 
sensor-controller。 - 在v1.7.0+版本中,argo events团队已经将sensor controller和source controller合并到
argo-events-controller-manager中。 - 我认为事件传感器和事件源指向了错误的控制器。
 - 它应该理想地指向
argo-events-controller。 
要解决这个问题,直到在argo-events kubernetes图表中修复此bug:
更新您的sensor和event source定义,将finalizers设置为空数组。
# 带有空finalizers的示例sensor
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  name: minio
  finalizers: []  # <-- 就是这里
spec:
  dependencies:
    - name: test-dep
      eventSourceName: minio
      eventName: example
  triggers:
    - template:
        name: http-trigger
        http:
          url: http://http-server.argo-events.svc:8090/hello
          payload:
            - src:
                dependencyName: test-dep
                dataKey: notification.0.s3.bucket.name
              dest: bucket
            - src:
                dependencyName: test-dep
                contextKey: type
              dest: type
          method: POST
      retryStrategy:
        steps: 3
        duration: 3s
英文:
As of release v1.7.5, there is a bug in default sensor & eventSource kubernetes resource yaml values.
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
....
  finalizers:
  - sensor-controller
....
- It has finalizers as 
sensor-controller. - In v1.7.0+, argo events team has merged sensor controller & source controller into 
argo-events-controller-manager. - I believe, event sensor and event source are pointing to wrong controller
 - It should ideally be pointing to 
argo-events-controller 
To resolve this issue till this bug is fixed in argo-events kubernetes charts:
Update your sensor & event source definitions to have finalizers as empty array.
# example sensor with empty finalizers
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
  name: minio
  finalizers: []  # <-- this one
spec:
  dependencies:
    - name: test-dep
      eventSourceName: minio
      eventName: example
  triggers:
    - template:
        name: http-trigger
        http:
          url: http://http-server.argo-events.svc:8090/hello
          payload:
            - src:
                dependencyName: test-dep
                dataKey: notification.0.s3.bucket.name
              dest: bucket
            - src:
                dependencyName: test-dep
                contextKey: type
              dest: type
          method: POST
      retryStrategy:
        steps: 3
        duration: 3s
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论