Мы используем DSC в основном с момента его первого выпуска, но одна вещь, которую мы никогда не могли успешно сделать (ни с помощью прямого простого DSC, ни с помощью вызова DSC через марионетку), - это настроить сеть Windows таким образом, чтобы основные проблемы при применении конфигурации.
Проблема в следующем:
Использование модулей Microsoft DSC (в настоящее время xNetworking) у вас есть директивы для:
Проблема в том, что применение любой из этих настроек поочередно приводит к обрыву сетевого подключения на хосте, и все сразу перестает применяться - хост не работает и не может подключиться удаленно, а это означает, что вам нужно подключиться к консоли. машина.
Например:
$false
немедленно удаляет IP-адрес, шлюз и DNS с машины, делая невозможным связаться с ней. А ты должен установите это свойство, потому что если ваша аренда DHCP просто совпадет с постоянным IP-адресом этого сервера, DSC вернет InDesiredState = true
(что технически правильно)172.16.110.10/23
вызывает переподключение сети и не оставляет ни шлюза по умолчанию, ни записей DNS, что означает, что если вы нажимаете из другой подсети, вы не можете подключиться. Кроме того, из-за отсутствия записей DNS вы больше не можете связываться с контроллерами домена для проверки подлинности новый ЗапросыВ Linux вы справляетесь с этим, редактируя файл конфигурации интерфейса, а затем марионетка уведомляет сетевую службу о перезапуске. в самом конце марионеточного забега, так что у всех остальных есть шанс финишировать первым.
В Windows, когда вы применяете xDhcpClient, xDNSServerAddress или xDefaultGatewayAddress, весь процесс разваливается, поскольку сеть отключается.
Например, вот что происходит при применении марионетки:
Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdnsserveraddress[NY-DSCTEST01-PRI-VMNIC_DNS]/ensure: created
Notice: /Stage[main]/Stacknet::Single::Windows/Dsc_xdhcpclient[NY-DSCTEST01-PRI-VMNIC_DHCP]/ensure: created
Notice: Applied catalog in 18.40 seconds
Error: Could not send report: Failed to open TCP connection to ny-puppet.example.com:8140 (getaddrinfo: No such host is known. )
Запуск марионетки просто останавливается, потому что он больше не может подключиться к мастеру марионетки.
Кто-нибудь еще настраивает сеть в Windows через Puppet или DSC? Если да, то как вы решаете эти проблемы?