获取部署的副本集

sur*_*rus 3 kubernetes kubernetes-deployment

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

GET /apis/apps/v1/namespaces/{namespace}/replicasets/{name}
Run Code Online (Sandbox Code Playgroud)

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

任何帮助表示赞赏。

谢谢

Con*_*nst 5

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