专栏名称: GoCN
最具规模和生命力的 Go 开发者社区
今天看啥  ›  专栏  ›  GoCN

Go 程序如何实现优雅退出?来看看 K8s 是怎么做的——下篇

GoCN  · 公众号  ·  · 2024-08-27 08:00
    

文章预览

本文带大家一起来详细学习下 Go 中的优雅退出,由于文章过长,拆分成上下两篇,本文为下篇。 上篇: 《Go 程序如何实现优雅退出?来看看 K8s 是怎么做的——上篇》 K8s 的优雅退出 现在,我们已经掌握了 Go 中 HTTP Server 程序如何实现优雅退出,是时候看一看 K8s 中提供的一种更为优雅的优雅退出退出方案了😄。 这要从 K8s API Server 启动入口说起: https://github.com/kubernetes/kubernetes/blob/release-1.31/cmd/kube-apiserver/apiserver.go func   main ()  {  command := app.NewAPIServerCommand()  code := cli.Run(command)  os.Exit(code) } K8s API Server 启动入口代码非常简单,我们可以进入 app.NewAPIServerCommand() 查看更多细节: https://github.com/kubernetes/kubernetes/blob/release-1.31/cmd/kube-apiserver/app/server.go#L122 // NewAPIServerCommand creates a *cobra.Command object with default parameters func   NewAPIServerCommand ()  * co ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览