This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
gpo_для_linux [2023/05/02 08:50] val |
gpo_для_linux [2023/05/02 10:02] val |
||
---|---|---|---|
Line 21: | Line 21: | ||
По поводу ролей, рассмотрим описанные в предыдущих статьях (см. ссылки): | По поводу ролей, рассмотрим описанные в предыдущих статьях (см. ссылки): | ||
- | 1. [[https://habr.com/ru/articles/718632/|Подключение]] к [[https://habr.com/ru/articles/732290/|домену]] | + | 1. [[https://habr.com/ru/articles/718632/|Подключение к домену]] |
2. Настройка на использование [[https://habr.com/ru/articles/732290/|корпоративного прокси]] | 2. Настройка на использование [[https://habr.com/ru/articles/732290/|корпоративного прокси]] | ||
Line 91: | Line 91: | ||
</code> | </code> | ||
- | Создаем роль, настраивающую использование [[https://habr.com/ru/articles/732290/|корпоративного прокси]] (наверное, самую простую в этой статье) | + | Создаем роль, настраивающую использование [[https://habr.com/ru/articles/732290/|корпоративного прокси]] (самую простую из трех) |
<code> | <code> | ||
Line 147: | Line 147: | ||
</code> | </code> | ||
- | После перезагрузки, должна появиться возможность подключаться любым доменным пользователем, браузер должен работать через authproxy, а в разделе "Интернет" должна появиться иконка "Помощь" | + | После перезагрузки, должна появиться возможность подключаться любым доменным пользователем, браузер должен работать через authproxy, а в меню графической оболочки, в разделе "Интернет", должна появиться иконка "Помощь". |
- | Для доступа к этим ролям с других рабочих станций, разместим все в корпоративном GitLab (если его еще нет, см. 3-й шаг из [[https://habr.com/ru/articles/716454/|этой статьи]]. | + | Для доступа к этим ролям с других рабочих станций, разместим все в корпоративном GitLab, если его еще нет, см. 3-й шаг из [[https://habr.com/ru/articles/716454/|этой статьи]]. В дальнейшем, подразумевается имя GitLab сервера - gitlab.corp.ru и учетная запись владельца проекта - student |
- | Создаем публичный проект без readme с названием ansible-pull-gpo (см. 4-й шаг из [[https://habr.com/ru/articles/716454/|той же статьи]]) и выполняем команды из подсказок проекта внутри каталога ansible-pull-gpo, предварительно установив на рабочую станцию для разработки и тестирования утилиту git: | + | Создаем публичный проект без readme с названием ansible-pull-gpo (см. 4-й шаг из [[https://habr.com/ru/articles/716454/|той же статьи]]) и выполняем внутри каталога ansible-pull-gpo команды из подсказок нового проекта, предварительно установив утилиту git: |
<code> | <code> | ||
Line 158: | Line 158: | ||
client1:~# cd ansible-pull-gpo/ | client1:~# cd ansible-pull-gpo/ | ||
- | ... | + | client1:~/ansible-pull-gpo# git config --global user.email "student@corp.ru" |
+ | |||
+ | client1:~/ansible-pull-gpo# git init --initial-branch=main | ||
+ | |||
+ | client1:~/ansible-pull-gpo# git remote add origin http://gitlab.corp.ru/student/ansible-pull-gpo.git | ||
+ | |||
+ | client1:~/ansible-pull-gpo# git add . | ||
+ | |||
+ | client1:~/ansible-pull-gpo# commit -m "Initial commit" | ||
+ | |||
+ | client1:~/ansible-pull-gpo# push -u origin main | ||
</code> | </code> | ||
- | Для сдачи в эксплуатацию следующей системы достаточно выполнить на ней команды (подразумевается имя GitLab сервера - gitlab.corp.ru и учетная запись владельца проекта - student): | + | Для сдачи в эксплуатацию следующей системы достаточно выполнить на ней команды (вот он - ansible-pull в действии :) |
<code> | <code> | ||
Line 171: | Line 181: | ||
</code> | </code> | ||
- | Инструкцию ansible-pull можно прописать в cron, что бы обновления конфигурации загружались периодически автоматически, но еще лучше, добавить в проект файлы, облегчающие процесс ввода в эксплуатацию новых рабочих станций. | + | Инструкцию ansible-pull можно прописать в cron, что бы обновления конфигурации загружались периодически, но еще лучше, добавить в проект файлы, облегчающие процесс ввода в эксплуатацию новых рабочих станций: |
Скрипт start.sh будет устанавливать необходимое ПО и прописывать ansible-pull в cron (каждые 2 часа со случайной задержкой и после перезагрузки), добавляя возможность указывать (например, тестовую) ветку проекта. Вывод команды ansible-pull будет передаваться в syslog | Скрипт start.sh будет устанавливать необходимое ПО и прописывать ansible-pull в cron (каждые 2 часа со случайной задержкой и после перезагрузки), добавляя возможность указывать (например, тестовую) ветку проекта. Вывод команды ansible-pull будет передаваться в syslog | ||
Line 207: | Line 217: | ||
</code> | </code> | ||
- | После синхронизации (push) изменений в репозитории, процесс подключения следующей рабочей станции выглядит как на титульном скриншоте, а именно, после базовой инсталляции системы, инженер подключается локальной учетной записью, открывает браузер, находит (через Explore в GitLab) проект и копирует из readme.md две команды в терминал. После перезагрузки рабочей станции можно наблюдать процесс применения конфигурации: | + | После синхронизации изменений в репозитории |
+ | |||
+ | <code> | ||
+ | client1:~/ansible-pull-gpo# git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | git commit -a -F - | ||
+ | |||
+ | client1:~/ansible-pull-gpo# push -u origin main | ||
+ | </code> | ||
+ | |||
+ | процесс подключения следующей рабочей станции выглядит как на титульном скриншоте, а именно, после базовой инсталляции системы, инженер подключается локальной учетной записью, открывает браузер, находит (через Explore в GitLab) проект ansible-pull-gpo и копирует из readme.md две команды в терминал. После перезагрузки рабочей станции можно наблюдать процесс применения конфигурации: | ||
<code> | <code> | ||
Line 213: | Line 231: | ||
</code> | </code> | ||
- | Остается рассказать про профили систем. Например, домашние компьютеры сотрудников не нужно включать в домен, но иконка "Помощь/Help" для разрешения удаленного подключения инженера может очень пригодиться. Для этого опишем профиль - просто еще один плейбук, аналогичный local.yml с названием home-comp.yml (в реальности, лучше использовать отдельный каталог для профилей) | + | Остается рассказать про профили систем. Например, домашние компьютеры сотрудников не нужно включать в домен, но иконка "Помощь/Help" для разрешения удаленного подключения инженера может очень пригодиться. Для этого опишем профиль - просто еще один плейбук, аналогичный local.yml с названием home-comp.yml (в реальности, удобнее использовать отдельный каталог для профилей) |
<code> | <code> | ||
Line 223: | Line 241: | ||
</code> | </code> | ||
- | Далее, уточняем hostname компьютера сотрудника (например, petrov-home) и создаем одноименный линк на созданный плейбук (в локальной сети hostname назначается по определенному правилу, которое исключает возможность совпадений) | + | Далее, уточняем hostname компьютера сотрудника (например, petrov-home) и создаем одноименный линк на созданный плейбук (hostname должны быть уникальны, компьютерам предприятия они назначается по определенному правилу, которое исключает возможность совпадений) |
<code> | <code> | ||
client1:~/ansible-pull-gpo# ln -s home-comp.yml petrov-home.yml | client1:~/ansible-pull-gpo# ln -s home-comp.yml petrov-home.yml | ||
+ | |||
+ | client1:~/ansible-pull-gpo# git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | git commit -a -F - | ||
+ | |||
+ | client1:~/ansible-pull-gpo# push -u origin main | ||
</code> | </code> | ||
- | После синхронизации изменений в репозитории, сотруднику оправляется ссылка на видео инструкцию ([[https://youtu.be/Y4RzavhVwxY?t=3653|похожую на эту]]) и он самостоятельно подключает свой компьютер к нашей системе управления. | + | После этого сотруднику оправляется ссылка на видео инструкцию ([[https://youtu.be/Y4RzavhVwxY?t=3653|похожую на эту]]) и он самостоятельно подключает свой компьютер к нашей системе управления. В дальнейшем, можно создать в проекте новую роль, например - openvpn, добавить ее к плейбуку home-comp.yml и она будет выполнена (в течении 2-х часов или после загрузки) на всех компьютерах, hostname которых мы "прилинковали" к файлу home-comp.yml |
- | Вот такое решение "из подручных материалов". Мы его активно используем, добавляя роли, по необходимости (в том числе, настройку 1С, установку офиса Р7 и прочее) | + | Вот такое решение "из подручных материалов". Мы его активно используем, добавляя, по необходимости, новые роли (в том числе, настройку 1С, установку офиса Р7 и прочее). |
Спасибо, что дочитали до конца, буду рад, если кому то пригодится и ответить на вопросы, а, так же, советам в комментариях! | Спасибо, что дочитали до конца, буду рад, если кому то пригодится и ответить на вопросы, а, так же, советам в комментариях! | ||