Назад | Перейти на главную страницу

Узлы марионетки не могут найти главный, публичный ec2 по сравнению с внутренними IP-адресами и хост-файлами

Если я настрою файлы своих хостов так, чтобы они ссылались на все другие узлы ec2 с использованием внутренних IP-адресов, это сработает или мне придется использовать внешние IP-адреса?

Нужно ли мне указывать что-либо в моей группе безопасности, чтобы внутренние IP-адреса работали?

например / etc / hosts

ip-10-11-12-13.internal  some_node_name

Если я сделаю это, могу ли я ссылаться на some_node_name в любом месте моих сценариев, где я раньше использовал бы IP-адрес?

На моих серверах марионеточного агента у меня есть ссылка на моего хозяина марионеток, например:

public-ip-here puppet

Когда я перезагружаю марионеточный агент, системный журнал показывает, что они не могут найти мастера с сообщением: getaddinfo: имя или служба неизвестны

Я заставил его работать, обновив /etc/default/puppet

и я добавил к опциям:

--server=public-ip-here

Из того, что я прочитал, puppet по умолчанию будет пытаться использовать puppet, и я установил это в моем файле hosts, так почему бы ему не поднять это?

Один совет по использованию марионетки в EC2 - назначить ElasticIP своему мастеру марионеток, а затем создать запись DNS для ElasticIP CNAME, а не запись A для IP.

DNS-серверы AWS используют «представления» dns, чтобы варьировать свой ответ в зависимости от того, поступил ли запрос из одного региона EC2 или извне. Если запрос CNAME поступает из региона EC2, DNS-серверы AWS ответят внутренним IP-адресом CNAME. (Прочтите об условных DNS-ответах BIND "Views")

Вы должны использовать CNAME в DNS, чтобы, когда клиенты марионеток EC2 запрашивали у DNS-серверов AWS IP-адрес Puppetmaster, они получали ответ, который направляет их на внутренний IP-адрес марионеточного мастера, а не на внешний IP-адрес.

Резюме: не используйте / etc / hosts для поиска puppetmaster в EC2, этот внутренний IP-адрес может измениться и не работает в нескольких регионах. Используйте запись CNAME, которая указывает на CNAME ElasticIP, хранящуюся в DNS.

этот файл hosts неверен .. Если ваш марионеточный сервер имеет внутренний IP-адрес 10.0.1.10. Затем каждый узел, к которому вы хотите подключиться,

10.0.1.10 puppet

Тогда этот узел будет нормально подключаться без строки --server. Если все узлы находятся на востоке США, они должны использовать внутренний IP-адрес. Если ваш марионеточный сервер находится на востоке, а некоторые клиенты на западе ... Эти клиенты на западе используют общедоступные, а восточные по-прежнему используют внутренние.