如何解决golang k8s 客户端中的 Pod 重新部署触发器
如何通过k8s golang客户端触发壁炉的更新(重新部署)。
目前,我使用这些库来获取有关 pod 和命名空间的信息:
v1 "k8s.io/api/core/v1
k8s.io/apimachinery/pkg/apis/meta/v1
k8s.io/client-go/kubernetes
k8s.io/client-go/rest
也许还有另一个库,或者可以通过 linux 信号来完成
解决方法
触发滚动重启的标准方法是使用当前时间戳在 pod 规范中设置/更新注释。更改本身只会更改 pod 模板哈希,从而触发 Deployment 控制器执行其操作。您可以使用 client-go
来执行此操作,但如果不是 Go,则可能使用您更熟悉的语言。
go 客户端和类似的库将遵循 REST API 结构。我相信 kubectl
客户端也使用 API,所以应该是可能的。
查看go库中pod函数的代码(可能“Apply”就是你要找的): https://github.com/kubernetes/client-go/blob/master/kubernetes/typed/core/v1/pod.go 和 API 参考: https://kubernetes.io/docs/reference/kubernetes-api/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。