Kubernetes 1.28 Jobs sidecar events

svgewumm  于 2024-01-06  发布在  Kubernetes
关注(0)|答案(1)|浏览(142)

我想使用新的“sidecar”功能来监视在作业中启动的容器。目标是监视主容器的stdout并对它的完成做出React。
对于最后一部分,我想使用钩子之类的东西在主容器完成时向边车发送一个事件(发送一封包含日志的电子邮件,移动一些文件,等等)。
你们有什么办法吗?
我的想法是这样的:

  1. apiVersion: batch/v1
  2. kind: Job
  3. metadata:
  4. name: job-wrapper
  5. spec:
  6. template:
  7. spec:
  8. initContainers:
  9. - name: wrapper
  10. image: busybox
  11. restartPolicy: Always
  12. command:
  13. - "/bin/sh"
  14. - "-c"
  15. - |
  16. while true; do
  17. [ -e "start" ] && echo "started" || ([ -e "stop" ] && echo "stopped" || echo "init")
  18. sleep 1
  19. done
  20. lifecycle:
  21. postStart:
  22. exec:
  23. command: [ "sh", "-c", "echo Do something before main container && sleep 10 && touch start"]
  24. preStop:
  25. exec:
  26. command: [ "sh", "-c", "echo Do something after main container && rm start && touch stop && sleep 10"]
  27. startupProbe:
  28. exec:
  29. command: [ "sh", "-c", "test -f start"]
  30. containers:
  31. - name: application
  32. image: busybox
  33. command: ["sh", "-c", "echo Processing && sleep 10 && echo Processing end!"]

字符串
我可以在RedHat9上的k8s 1.28上通过在每个k8s系统pod上添加featureGate来启动该作业,但我仍然失败,因为Kubelet不识别initCOontainer的restartPolicy。我没有找到在Kubelet端激活featureGate的方法。

xwbd5t1u

xwbd5t1u1#

它在1.29上可以正常工作,因为Sidecar特性默认是开启的。

相关问题