要获取名称以特定字符串开头的pod的终端端点

问题描述 投票:0回答:1

openshift文档说我们可以使用以下名称来获取pod:

curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/api/v1/namespaces/$NAMESPACE/pods/$NAME

我想获得一个以特定字符串开头且结尾带有*通配符的pod。

示例:

curl -k \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' \
    https://$ENDPOINT/api/v1/namespaces/$NAMESPACE/pods/mypod*

但是这不起作用。

我如何实现我所需要的?

openshift redhat kubernetes-helm
1个回答
0
投票
  1. 您应使用列表api get all Pods in a namespace
  2. fieldslabels的选择受到限制。标签选择器仅等于或基于集合的操作;和=,==,!=字段选择器的运算符。
  3. 当然,这取决于rest api的用例,但是在bash环境中,您具有jq来匹配对象:

    curl -k -H "Authorization: Bearer $TOKEN" -H 'Accept: application/json' https://master.lab1.example.com:8443/api/v1/namespaces/test/pods | jq '.items[] | select(.metadata.name | match("^test"))'
    
© www.soinside.com 2019 - 2024. All rights reserved.