目前,我正在检查生命周期挂钩是否启用,如果是,请添加一些额外的延迟:
{{- $delay := hasKey .Values "shutdownDelay" | ternary .Values.shutdownDelay 30 }}
{{- $graceperiod := hasKey .Values.service "terminationGracePeriodSeconds" | ternary .Values.service.terminationGracePeriodSeconds 120 }}
{{- $extraDelay := .Values.lifecycleHooks.enabled | ternary $delay 0 }}
terminationGracePeriodSeconds: {{ add $graceperiod $extraDelay }}
我想介绍一个用例,其中如果.Values.lifecycleHooks.postStart
和.Values.lifecycleHooks.prestart
具有某些值,则不应在terminationGracePeriodSeconds
中添加额外延迟values.yaml
看起来像
#shutdownDelay: 40
lifecycleHooks:
enabled: true
postStart:
exec:
command:
- echo
- "Run after starting container"
preStop:
exec:
command:
- echo
- "Run before stopping container"
service:
terminationGracePeriodSeconds: 120
因此,如果poststop钩子值像values.yaml中那样定义,那么它不应该给terminationperiod增加任何延迟。
1条答案
按热度按时间h6my8fg21#
这个问题不是很具体,但如果你正在寻找“如果”条件与“和”/“或”,下面是一个例子可能是有帮助的。
根据您的解释,假设poststart/prestart的值为,如果lifecycle.poststart为“false”且lifecycle.prestart为“true”,则terminationgracepideseconds不会有额外延迟,否则条件将有额外延迟