Простая команда или переменная среды для печати текущего пространства имен в openshift / kubernetes

#kubernetes #openshift

#kubernetes #openshift

Вопрос:

Есть ли какая-нибудь команда для этого? Меня раздражает, что Openshift гордится наличием команд «-o yaml» и «-o json», чтобы избежать необходимости использовать cut / grep / awk, но для перечисления текущего проекта это, похоже, единственный способ сделать это:

 [root@bart-master ~]# oc project
Using project "default" on server "https://api.bart.mycluster.com:6443".
[root@bart-master ~]# oc project | cut -d '"' -f2
default
  

Комментарии:

1. в чем смысл? Вы всегда можете просто запустить команду для настройки текущего проекта, чтобы на 100% гарантировать, что вы используете правильный проект.

Ответ №1:

Вы можете получить текущий проект (пространство имен), используя каждый oc и kubectl CLIS следующим образом

 $ oc config view --minify -o 'jsonpath={..namespace}'
$ kubectl config view --minify -o 'jsonpath={..namespace}'
  

Ответ №2:

Команда oc project CLI уже имеет это встроенное. Вы можете передать аргументы -q или --short oc project , чтобы получить только имя пространства имен.

В общем, oc имеет отличную справочную поддержку, которую вы можете получить, добавив -h в конец любой команды (включая oc project ), чтобы получить полезные аргументы, подобные этому.