使用 kubectl 代理转出重启 statefulset

Rollout restart statefulset using kubectl proxy

我已经从 pods 中启动了 kubectl proxy,并且能够访问 kubernetes API。我需要重新启动我的 statefulset。

使用 kubectl,我会这样做:

kubectl rollout restart statefulset my-statefulset

但是,我想使用 REST API 来执行此操作。例如,我可以删除我的 pods,使用这个:

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

是否有任何等效的 REST 端点可用于推出重启有状态集?

我 运行 你的命令 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