Вы когда-нибудь задумывались, как выполнять классы, определенные в манифестах Puppet, в определенном порядке ❓❓
Puppet позволяет пользователям изменять порядок развертывания классов с помощью этапов.
К каждому классу может быть прикреплен определенный этап. Порядок выполнения классов можно определить, изменив порядок этапов. Это позволит вам запускать свои классы в соответствии с вашими предпочтениями.
Этапы и порядок выполнения этапов можно указать в site.pp следующим образом.
Например, предположим, что у нас есть 4 класса как custom.pp, init.pp, params.pp и startserver.pp как 4 разных манифеста Puppet. Теперь предположим, что нам нужно запустить класс custom.pp перед классом startserver.pp.
Поскольку нам нужно установить приоритеты в порядке выполнения этих двух классов, нам нужно определить два этапа. Мы определили два этапа: «заключительный» и «средний». Этапы и порядок выполнения этапов определены в site.pp следующим образом.
# Run stages stage { 'final': } stage { 'custom': } # Order of stages Stage['main'] -> Stage['middle'] -> Stage['final']
Согласно приведенному выше фрагменту кода порядок выполнения этапов следующий.
main stage 👉 middle stage 👉 final stage
Теперь мы должны назначить «этап» каждому классу, чтобы он выполнялся в соответствии с предпочтительным порядком, как показано ниже.
node default { class { "::${::profile}": } class { "::${::profile}::custom": stage => 'middle' } class { "::${::profile}::startserver": stage => 'final' } }
Класс «custom» назначается «среднему» этапу, а класс «startserver» назначается «конечному» этапу. Это изменит порядок выполнения по мере необходимости.
Теперь вам может быть интересно, что такое «главный» этап. 🤔🤔🤔
Таким образом, основной этап - это все классы, не относящиеся к определенному этапу. Это также означает, что любой класс, оставшийся без сцены, попадает в основную сцену.
Таким образом, теперь вы можете определить любое количество этапов в Puppet и изменить порядок выполнения ваших классов Puppet. ✔️
Ура 👏👏👏 !!!!!!