kubectl get
(и, соответственно, oc get
) - универсальный инструмент очень . К сожалению, посмотрев некоторое время онлайн, вы определенно не сможете выполнять регулярные выражения, не полагаясь на внешний инструмент, такой как awk
или grep
. (Я знаю, что это не было точно , о чем вы просили, но я решил, что по крайней мере попытаюсь выяснить, возможно ли это.
С учетом сказанного, есть несколько хитростей вы можете положиться на фильтрацию выходных данных oc get
, прежде чем вам даже понадобятся внешние инструменты (бонусные баллы, потому что эта фильтрация происходит на сервере еще до того, как она попадает в ваши локальные инструменты).
I first рекомендуем запускать oc get pods --show-labels
, потому что, если нужные вам ярлыки помечены соответствующим образом, вы можете использовать селектор меток, чтобы получить только те желаемые капсулы, например:
oc get pods --selector name=jenkins
oc get pods --selector <label_key>=<label_value>
Second , если вы заботитесь только о Running
модулях (поскольку блоки disk-check
выглядят так, как будто они уже Completed
), вы можете использовать селектор полей, например:
oc get pods --field-selector status.phase=Running
oc get pods --field-selector <json_path>=<json_value>
Наконец , если вам нужно значение speci c, вы можете вставить это значение в CLI, указав пользовательские столбцы, а затем grep
, указав нужное вам значение о, например:
oc get pods -o custom-columns=NAME:.metadata.name,TYPES:.status.conditions[*].type | grep "Ready"
Лучше всего, если вы полагаетесь на ярлык лектор и / или селектор полей, фильтрация выполняется на стороне сервера, чтобы сократить объем данных, которые в итоге попадают в конечные пользовательские столбцы, что делает все это намного более эффективным.
Для вашего Если задан c вариант использования, кажется, что достаточно просто использовать --field-selector
, поскольку блоки disk-check
уже Completed
. Таким образом, без дополнительной информации о точно , как устроен модуль Дженкинса JSON, этого должно быть достаточно для вас:
oc get pods --field-selector status.phase=Running