我已经从Pod中启动了Kubectl代理,并且能够访问kubernetes API。我需要重新启动状态集。
使用kubectl,我会这样做:
kubectl rollout restart statefulset my-statefulset
但是,我想使用REST API来做到这一点。例如,我可以使用以下方法删除我的广告连播:
curl -XDELETE localhost:8080/api/v1/namespaces/default/pods
是否可以使用任何等效的REST端点来重新启动状态集?
答案 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