使用Kubectl代理推出重新启动statefulset

时间:2020-04-29 19:40:40

标签: kubernetes kubectl kubernetes-statefulset

我已经从Pod中启动了Kubectl代理,并且能够访问kubernetes API。我需要重新启动状态集。

使用kubectl,我会这样做:

kubectl rollout restart statefulset my-statefulset

但是,我想使用REST API来做到这一点。例如,我可以使用以下方法删除我的广告连播:

curl -XDELETE localhost:8080/api/v1/namespaces/default/pods

是否可以使用任何等效的REST端点来重新启动状态集?

1 个答案:

答案 0 :(得分:2)

我运行您的命令kubectl rollout restart statefulset my-statefulset --v 10并注意到输出日志。

我发现应用以上命令时kubectl发出了补丁请求。而且我可以使用 curl 来执行补丁请求,如下所示:

curl -k --data '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubrnetes.io/restartedAt":"'"$(date +%Y-%m-%dT%T%z)"'"}}}}}'\ 
    -XPATCH   -H "Accept: application/json, */*" -H "Content-Type: application/strategic-merge-patch+json"\
    localhost:8080/apis/apps/v1/namespaces/default/statefulsets/my-statefulset