kubernetes Client-go kubectl部署示例

任何人都可以给我一个有关如何使用的示例

kubectl rollout pause xxx

kubectl rollout update xxx

在客户访问中?我找不到任何例子。谢谢〜

yingcaiiacgniy 回答:kubernetes Client-go kubectl部署示例

也许吧。

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的文章。

本文链接:https://www.f2er.com/3126648.html

大家都在问