繁体   English   中英

kubernetes Client-go kubectl rollout 示例

[英]kubernetes Client-go kubectl rollout example

谁能给我一个关于如何使用的例子

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 文档暂停和恢复部署中看到的那样。

您可以在触发一个或多个更新之前暂停部署,然后恢复它。 这允许您在暂停和恢复之间应用多个修复,而不会触发不必要的部署。

使用 Go-Client 更新Deployment很容易,因为您只需更新要更改的字段,并在完成后提交它们。 因此,只要您不将更改推送到集群,您仍然可以添加新的更新。

这是一篇关于如何在 Go 中编写 Kubernetes 自定义控制器的文章和另一篇关于更新和回滚部署的文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM