Kubernetes 准入请求超时后,defer 函数还会执行吗?

Posted

技术标签:

【中文标题】Kubernetes 准入请求超时后,defer 函数还会执行吗?【英文标题】:Will defer function still get executed after a Kubernetes admission request has timed out? 【发布时间】:2022-01-22 12:14:45 【问题描述】:

例如,延迟函数是在 webhook 的逻辑中实现的(webhook 是用 Golang 编写的)。 Webhook 在完成时间过长后超时。这种情况下,defer函数还会被执行吗?

请求超时是通过 context.WithTimeout 为 webhook 设置的。

【问题讨论】:

建议的解决方案对您有帮助吗?否则你能补充更多细节吗? 好的,谢谢! :) 【参考方案1】:

通常最好清楚地说明您正在谈论的编程语言,尽管我可以弄清楚。

在 Go 中,defer 函子(无论你想调用什么)都会在方法返回时执行,无论它如何完成,除非你设法以激烈的方式杀死正在执行的进程,甚至可能如此。

【讨论】:

谢谢大卫!我用 Golang 作为编程语言更新了问题的详细信息。

以上是关于Kubernetes 准入请求超时后,defer 函数还会执行吗?的主要内容,如果未能解决你的问题,请参考以下文章

kubernetes API 访问控制之:准入控制

认证授权与准入控制

Kubernetes入门至精通 | Kubernetes集群安全 - 准入控制

kubernetes高级之动态准入控制

http 请求的 kubernetes/elb 超时是多少?

Kubernetes API 访问控制之认证鉴权准入控制的介绍