Pull to refresh

Comments 10

То что нужно! особенный торт от хабра.
А в какой момент потерялся Powershell DSC?
Моей основной целью было максимально приблизить подходы к управлению Windows и Linux инфрастуктурами. Ansible в этой схеме всего лишь дополнительный слой абстракции, под капотом он может дёргать и DSC, если задача этого требует.

Цель хорошая, я сам активно использую Ansible в конфигурировании гетерогенных систем, но технически картина сравнения передана неверно. Из предложения "дергать DSC", как и всего остального, у меня сложилось впечатление, что вы с ним не знакомы. Например, в Powershell DSC вот это:


- name: Install AWS CLI
  hosts: all 
  ...и остальные пару десятков квази-императивных инструкций...

Выглядит всего лишь как:


Node $AllNodes {
    Package AWSCLI {
        Name = 'AWS Command Line Interface'
        Path = 'https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi'
        ProductId = '243E6CD9-5503-43BF-9E75-F6F59E6DA157'
    }
}

И это такая же "desired state" идемпотентность, которую вы рекламировали в Ansible со всеми необходимыми механизмами контроля и т.п.


> Test-DscConfiguration ...

InDesiredState             : True
ResourcesInDesiredState    : {[Package]AWSCLI}
ResourcesNotInDesiredState : 
ReturnValue                : 0
PSComputerName             : 127.0.0.1

Справедливости для, проблем у DSC хватает. Он хорош гибкостью. Когда на прошлой неделе возился с динамическими инветарями в Ansible, с тоской вспоминал Powershell. Пришлось даже PR делать, который войдет в 2.9)). Но когда я начинаю какой-то проект на Powershell, то скучаю по Ansible с его огромным количеством наработок: готовых модулей, galaxy, community. Если нужен быстро бойлерплейт — он просто незаменим. Скажем в DSC даже нет ролей из коробки. Я могу реализовать там любую таксономию, но её надо делать. Так что пока тоже Ansible-плейбуки в руки и вперед)))

Согласен, но справедливости ради нужно отметить, что через ansible можно вызывать win_dsc модуль, хоть он и всего лишь выполнит 'Invoke-DSCResource'. Но зачастую и этого достаточно.
Спасибо! Отличная статья, у нас сейчас все сделано примерно по первому сценарию :) Куча всего на PS, от деплоя до мониторинга. Попробуем частично внедрить Ansible.

Отличная статья.
Несколько как бы минусов (на самом деле нет).


  1. Yaml — действительно декларативный, но ансибл — процедурный. Все сильно зависит от используемых модулей.
  2. Хотелось бы консистентности в наименованиях. Модуль — это модуль. Роль — это роль.
  3. Идемпотентность — в первую очередь не в модулях, а в головах, т.е. в том, как человек пишет плейбук. Можно даже с хорошими модулями все испортить.
  4. Не рассмотрены: awx (для централизованного управления ), аналоги (salt?), установка ansible на windows (вроде как это было возможно).
  5. Гелекси — та ещё помойка. Очень опасливо что-то оттуда брать готовое. А вот как источник вдохновения — она очень даже годится.

Но статья делает свое позитивное действие по популяризации инструмента.

такую же абстракцию можно слепить и на dsc
я очень жду поддержки подключения к windows по ssh (появилось штатно в 2019 сервере) из ansible
тогда вся эта муть с winrm должна уйти в прошлое )
А зачем так усложнять деплой в IIS, если есть проверенные и простые методы? Чем не устроил деплой в в IIS через msbuild самим тимсити?
Sign up to leave a comment.