Только что перешел с Amazon на Joyent (неважно почему) и при настройке сервера Chef обнаружил следующую проблему:
Как вы знаете, Chef устанавливает IP-адрес в соответствии с таблицей маршрутизации. Так что в моем случае IP, сообщенный клиентом серверу, — это мой публичный IP.
У меня есть рецепт для динамической записи файла /etc/hosts, используя IP и FQDN, сообщенные клиентом. Проблема в том, что мне нужно использовать частный IP, чтобы весь трафик, достигающий локальной машины, был, по сути, локальным.
Я попробовал использовать node['network']['ipaddress_eth1']
файл шаблона hosts.erb, но это не сработало.
Какое облако я упускаю? Есть ли другой способ записать мой файл hosts, используя мой частный IP?
Спасибо
Обновлять
На самом деле есть способ найти то, что я ищу, используяшеф-повар:
chef > asdf = node['network']['interfaces']['eth1']['addresses'].keys.select { |a| a[/\A\d+\.\d+\.\d+\.\d+\Z/] }.first
Это вернет IP-адрес на моем eth1.
решение1
Для решения этой проблемы я использовалipaddr_extensions драгоценный каменьа затем добавьтечастныйipaddressприписывают охаю.