任何人都可以给我一个有关如何使用的示例
kubectl rollout pause xxx
kubectl rollout update xxx
在客户访问中?我找不到任何例子。谢谢〜
任何人都可以给我一个有关如何使用的示例
kubectl rollout pause xxx
kubectl rollout update xxx
在客户访问中?我找不到任何例子。谢谢〜
也许吧。
data := fmt.Sprintf(`{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt":"%s"}}}}}`,time.Now().String())
resultDeployment,err = p.Client.AppsV1().Deployments(p.Namespace).Patch(context.Background(),deployment.Name,types.StrategicMergePatchType,[]byte(data),metav1.PatchOptions{FieldManager: "kubectl-rollout"})
您可以使用带有 --v=6 的 kubectl
查看日志,例如 kubectl get pods --v=6
,并使用 go-client 构建请求。
我们可以在Kubernetes文档Pausing and Resuming a Deployment中阅读。
您可以在触发一个或多个更新之前先暂停部署,然后再恢复它。这样,您可以在暂停和恢复之间应用多个修复程序,而不会触发不必要的部署。
使用Go-Client更新Deployment
很容易,因为您只是在更新要更改的字段,完成后提交它们。因此,只要您不将更改推送到群集,您仍然可以添加新更新。
这是一篇关于How to write Kubernetes custom controllers in Go的文章,另一篇有关Updating and rolling back a deployment的文章。