3

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

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

但是如何根据部署获取 ReplicaSet 呢?

任何帮助表示赞赏。

谢谢

4

1 回答 1

6

但是如何根据部署获取 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、某些客户端或其他什么...... .)

于 2018-07-25T16:02:29.927 回答