Using host resources
It's not always practical or convenient to use DNS to map your machine names to IP addresses, especially in cloud infrastructures, where those addresses may change all the time. However, if you use entries in the /etc/hosts
file instead, you then have the problem of how to distribute those entries to all machines and keep them up to date.
Here's a better way to do it: Puppet's host
resource type controls a single /etc/hosts
entry, and you can use this to easily map a hostname to an IP address across your whole network. For example, if all your machines need to know the address of the main database server, you can manage it with a host
resource.
How to do it...
Follow these steps to create an example host resource:
- Modify your
site.pp
file as follows:
node 'cookbook' { host { 'packtpub.com': ensure => present, ip => '83.166.169.231', } }
- Run Puppet:
[root@cookbook ~]# puppet agent -t ... /Stage[main]/Main/Node[cookbook]/Host[packtpub.com]/ensure: created...