如何通过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 信号来完成
答案 0 :(得分:2)
触发滚动重启的标准方法是使用当前时间戳在 pod 规范中设置/更新注释。更改本身只会更改 pod 模板哈希,从而触发 Deployment 控制器执行其操作。您可以使用 client-go
来执行此操作,但如果不是 Go,则可能使用您更熟悉的语言。
答案 1 :(得分:1)
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/