В многосерверной среде, как я могу обеспечить выполнение состояний в определенном порядке c? У меня есть этот top.sls файл в /srv/salt
:
base:
'*':
- vendor.1-11
'*.a.*':
- vendor.1-11.componentA
'*.b.*':
- vendor.1-11.componentB
'*.c.*':
- vendor.1-11.componentC
'*.d.*':
- vendor.1-11.componentD
'*.e.*':
- vendor.1-11.componentE
'*.f.*':
- vendor.1-11.componentF
'*.g.*':
- vendor.1-11.componentG
. vendor.1-11
содержит файл sls, который установит все компоненты на миньонах. Затем каждая последующая цель указывает отдельный файл sls, который сообщит миньону о том, как запустить этот указанный c компонент.
В требованиях указано следующее:
componentA
must быть запущенным до componentB
componentB
должен быть запущен до componentC
И у меня есть эта топология сервера:
- 'foo. a.something0 ',' foo.a.something1 ',' foo.a.something2 '--have->
componentA
- ' bar.b.something3 ',' bar.b.something4 ', --have->
componentB
- 'baz. c .something5' --have->
componentC
Я понимаю, что есть способ применить этот порядок внутри одного файла состояния или sls с ключевым словом requires
, но как это применяется к нескольким целям и различным файлам sls?