在 golang k8s 客户端中重新部署 Pod 触发器

Pod redeploy trigger in golang k8s client

如何通过k8s golang客户端触发hearth的更新(重新部署)

目前,我使用这些库来获取有关 pods 和命名空间的信息:

v1 "k8s.io/api/core/v1
k8s.io/apimachinery/pkg/apis/meta/v1
k8s.io/client-go/kubernetes
k8s.io/client-go/rest

也许还有另一个库,或者可以通过 linux 信号

go 客户端和类似库将遵循 REST API 结构。我相信 kubectl 客户端也使用 API,所以应该可以。

在 go 库中检查 pod 函数的代码(可能“应用”就是您要查找的内容): https://github.com/kubernetes/client-go/blob/master/kubernetes/typed/core/v1/pod.go 和 API 参考: https://kubernetes.io/docs/reference/kubernetes-api/

触发滚动重启的标准方法是set/update pod 规范中带有当前时间戳的注释。更改本身除了更改触发 Deployment 控制器执行其操作的 pod 模板哈希之外什么都不做。您可以使用 client-go 来执行此操作,但如果不是 Go,则可能会使用您更熟悉的语言。