获取部署的副本集

时间:2018-07-25 14:19:14

标签: kubernetes kubernetes-deployment

如果使用如下所示的api给replica-set-name,我可以获得ReplicaSet:

GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name}

但是如何根据部署获得ReplicaSet?

感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:2)

  

但是如何根据部署获得ReplicaSet?

具有相当多的体操技巧……如果您检查kubectl的工作方式(通过执行kubectl -n my-namespace describe deploy my-deployment --v=9),将会发现它具有以下作用:

  • 首先使用/apis/extensions/v1beta1/namespaces/my-namespace/deployments/my-deployment获取部署详细信息。从那里获取用于副本集选择的标签。
  • 然后使用上一步中的部署标签(例如,标签分别为my-key1:my-value1my-key2:my-value2)获取副本集详细信息,例如:/apis/extensions/v1beta1/namespaces/my-namespace/replicasets?labelSelector=my-key1%3Dmy-value1%2Cmy-key2%3Dmy-value2

这里最有趣的部分是从部署输出中提取多个标签并格式化它们以进行副本集调用,这是grep,awk,jq甚至python的任务,具体取决于您的实际用例(来自bash,python,某些客户端或等等...)