Остальная конечная точка, чтобы получить модуль, имя которого начинается с определенной строки - PullRequest
0 голосов
/ 09 января 2020

В документе openshift сказано, что мы можем использовать приведенный ниже код для получения модуля по имени:

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

Я хочу получить модуль, который начинается с определенной строки с символом * в конце.

Пример:

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

но это не работает.

как мне добиться того, что мне нужно?

1 Ответ

0 голосов
/ 27 января 2020
  1. Вы должны использовать список api , чтобы получить все Pod в пространстве имен
  2. Выбор по полям и ярлыкам ограничен. Только операции на основе равенства или множеств для селекторов меток; и =, ==,! = операторы для селекторов полей.
  3. Конечно, это зависит от случаев использования 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"))'
    
...