Какова цель трейлинга '-' в Kubernetes apply -f -

Мне передали следующее, которое выполняет пробный запуск создания секрета кубернетов из файла appsettings.json , который затем передается по конвейеру к кубернетам применяются . Я думаю, что -f примет имя файла созданного секрета - пробного прогона и будет использовать его при применении секрета, но мне интересно, если конечный - имеет какое-либо значение, или это просто опечатка?

kubectl create secret generic test --from-file = appsettings.json --dry-run -oyaml | kubectl apply -f -

3
задан 25 November 2020 в 06:26
2 ответа

Символ - можно понимать как заполнитель для вывода команды, которая передается по конвейеру (с использованием символа | ). Используя его, мы очень конкретно указываем следующую команду (к которой выводится по конвейеру), куда должен быть помещен стандартный вывод первой команды (результат выполнения), другими словами , как он должен быть взят или проанализирован .

Таким образом, вместо того, чтобы передавать результат:

kubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml

(который оказывается yaml-манифестом)

напрямую в:

kubectl apply -f

, который не знает, что делать с таким вводом (поскольку он ожидает файл после флага -f ), мы очень точно указываем, где он подходит:

                                  
6
ответ дан 4 January 2021 в 07:38

The ] - - параметр для параметра -f , что означает принятие ввода из стандартного ввода вместо именованного файла. Сотни команд UNIX / Linux имеют такие параметры.

16
ответ дан 4 January 2021 в 07:38

Теги

Похожие вопросы