To enable automatic retrieval of information about infrastructure changes, i.e., to apply configuration changes on chef agents, you need to use a popular cookbook called chef-client:
https://supermarket.chef.io/cookbooks/chef-client (https://github.com/chef-cookbooks/chef-client)
You need to install it on the chef server and include a special recipe in the run-list on each agent, depending on how you want to pull updates from the chef server. I prefer using the chef-client::systemd recipe - systemd is now in all popular Linux distributions.
When using this cookbook, it's also important to know about such attributes as:
node['chef_client']['interval'] - the period after which information download from the chef server is initiated. Specified in seconds with a default value of 1800 s (which equals 30 minutes)node['chef_client']['splay'] - a random deviation added to the just-mentioned period so that infrastructure updates are not applied at the same moment in time on all agents simultaneously. Also specified in seconds with a default of 300 s.From this point on, cookbook updates loaded onto the chef server will be periodically pulled and applied by agents automatically.
Tracking such important information about agents as, for example, the time of the last update application, can be done in several ways: using the knife utility
(knife status) or the web console
(chef manage). About knife:
$ knife status # to display information about all agents
$ knife status "role:web" --run-list # to display information about agents with the "web" role and include the run list in the output for each
With the web console, everything is clear and simpler - you need to navigate to the chef server address in a browser and use your intuition. It's also worth remembering that the web console is installed separately, although very simply, and is free for infrastructure located on fewer than 25 nodes.