Kubernetes Rest API 调用相当于 kubectl replace -f POD.yaml --force

Kubernetes Rest API call equivalent to kubectl replace -f POD.yaml --force

我正在部署纯 pod yaml 文件。附上Pod的快照。

我的要求是我想在需要时更新整个 pod。 这可以通过强制使用 kubectl replace 命令来实现,它将负责删除和重新创建它。

命令是kubectl replace -f pod.yaml --force

用于替换的 RestAPI 是 PUT (https:///kubernetes-url/api/v1/namespaces/default/pods/test-pod) 我需要传递什么查询参数才能通过 rest api 实现强制替换,类似于 kubectl force replace。

当您在内部使用 --force 时,它会删除 pod 并重新创建它。 PUT 在这种情况下不使用动词,并且在 REST API 中没有 force 参数。您需要进行两次 REST API 调用

  1. 先用DELETE动词到https://kubernetes-url/api/v1/namespaces/default/pods/test-pod

  2. 第二个用POST动词到https://kubernetes-url/api/v1/namespaces/default/pods/test-pod

您可以验证 运行 命令在详细模式下进行的 REST API 调用。

kubectl replace -f pod.yaml --force --v=8