1

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

kubectl rollout pause xxx

kubectl rollout update xxx

在客户端去?我找不到任何关于它的例子。谢谢~

4

2 回答 2

2

也许 。

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"})

例如,您可以使用kubectl--v=6 查看日志,kubectl get pods --v=6并使用 go-client 构建请求。

于 2021-04-01T03:09:00.177 回答
0

正如我们在 Kubernetes 文档Pausing and Resuming a Deployment中所读到的那样。

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

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

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

于 2019-11-12T11:09:40.153 回答