使用curl命令获取K8s集群中特定Service对象
要使用curl命令过滤获取Kubernetes集群中的Service对象名称包含'abcd',并且端口为8080的Service对象,可以使用以下命令:
curl -k -H 'Authorization: Bearer <YOUR_TOKEN>' \
https://<YOUR_KUBE_API_SERVER>/api/v1/namespaces/default/services?labelSelector=app%3Dabcd \
| jq '.items[] | select(.spec.ports[].port == 8080) | .metadata.name'
这个命令做了以下几个事情:
- 使用curl命令发送GET请求到Kubernetes API服务器,获取默认命名空间下的所有Service对象。
- 使用labelSelector参数来过滤只返回包含标签'app=abcd'的Service对象。
- 使用jq工具来解析返回的JSON数据。
- 使用jq的select函数过滤只返回端口为8080的Service对象。
- 使用jq的.metadata.name来提取Service对象的名称。
请替换命令中的以下内容:
<YOUR_TOKEN>:替换为您的Kubernetes API访问令牌。<YOUR_KUBE_API_SERVER>:替换为您的Kubernetes API服务器地址。
注意:您需要在执行命令的机器上安装curl和jq工具。
原文地址: https://www.cveoy.top/t/topic/qe3M 著作权归作者所有。请勿转载和采集!