Я хочу знать, как master
процесс puppet и agent
процесс взаимодействуют друг с другом с помощью сети. Я имею в виду, что именно происходит, когда master
процесс посылает команды из манифеста в agent
процесс и аналогично из agent
в master
с кодами ошибок? Они создают собственные пакеты с командами, такими как
`exec {"command"}`
или, может быть, создать пакеты с полным манифестом, а затем отправить их?
решение1
Процесс, грубо говоря:
- Агент запускается, запрашивает свой каталог у главного устройства через вызов HTTPS API (аутентификация выполняется с помощью клиентского сертификата).
- Мастер компилирует каталог для этого узла из локальных манифестов и модулей на мастере и использует данные, отправленные узлом. Мастер отправляет каталог узлу в ответ на запрос.
- Агент применяет каталог
Каталог содержит все ресурсы конфигурации, которые может применить узел, поэтому для их предоставления используется именно этот механизм.