diff --git a/ansible/08_deploy_nas_role.yml b/ansible/08_deploy_nas_role.yml index d65e69b..e15ee2b 100644 --- a/ansible/08_deploy_nas_role.yml +++ b/ansible/08_deploy_nas_role.yml @@ -1,6 +1,6 @@ --- -- name: Разворачивание второго контроллера домена +- name: Разворачивание файлового сервера hosts: nastest roles: - deploy_nas diff --git a/ansible/roles/deploy_vms/defaults/main.yml b/ansible/roles/deploy_vms/defaults/main.yml index d5f7678..1597541 100644 --- a/ansible/roles/deploy_vms/defaults/main.yml +++ b/ansible/roles/deploy_vms/defaults/main.yml @@ -6,8 +6,5 @@ api_user: root@pam api_password: P@ssw0rd node: altv key_name: id_rsa.pub -server_template: s-tmpl -ws_template: ws-tmpl -kws_template: kws-tmpl vm_user: root vm_password: P@ssw0rd \ No newline at end of file diff --git a/ansible/roles/deploy_vms/tasks/deploy_servers.yml b/ansible/roles/deploy_vms/tasks/deploy_servers.yml index fbbf4c2..43dabe4 100644 --- a/ansible/roles/deploy_vms/tasks/deploy_servers.yml +++ b/ansible/roles/deploy_vms/tasks/deploy_servers.yml @@ -8,7 +8,7 @@ api_user: "{{ api_user }}" api_password: "{{ api_password }}" api_host: "{{ api_host }}" - clone: "{{ server_template }}" + clone: "{{ item.value.template }}" storage: "{{ pve_storage }}" format: qcow2 timeout: 500 diff --git a/ansible/roles/deploy_vms/tasks/deploy_ws.yml b/ansible/roles/deploy_vms/tasks/deploy_ws.yml index 76d1a8b..78b8d81 100644 --- a/ansible/roles/deploy_vms/tasks/deploy_ws.yml +++ b/ansible/roles/deploy_vms/tasks/deploy_ws.yml @@ -8,7 +8,7 @@ api_user: "{{ api_user }}" api_password: "{{ api_password }}" api_host: "{{ api_host }}" - clone: "{{ server_template }}" + clone: "{{ item.value.template }}" storage: "{{ pve_storage }}" format: qcow2 timeout: 500 @@ -16,7 +16,7 @@ - name: Рабочая станция - Настройка IP адресов command: "qm set {{ item.value.vmid }} --ipconfig0 gw={{ item.value.gw }},ip={{ item.value.ip }}" - loop: "{{ lookup('dict', server_vms) }}" + loop: "{{ lookup('dict', ws_vms) }}" - name: Рабочая станция - Настройка DNS command: "qm set {{ item.value.vmid }} --nameserver {{ item.value.dns }}" diff --git a/ansible/roles/deploy_vms/vars/main.yml b/ansible/roles/deploy_vms/vars/main.yml index 326f6f4..159839d 100644 --- a/ansible/roles/deploy_vms/vars/main.yml +++ b/ansible/roles/deploy_vms/vars/main.yml @@ -2,6 +2,7 @@ server_vms: alts1: + template: s-tmpl name: dc1.alt.lan ip: 10.1.1.11/24 gw: 10.1.1.9 @@ -11,6 +12,7 @@ server_vms: sockets: 1 memory: 2048 alts2: + template: s-tmpl name: dc2.alt.lan ip: 10.1.1.12/24 gw: 10.1.1.9 @@ -20,6 +22,7 @@ server_vms: sockets: 1 memory: 2048 alts3: + template: s-tmpl name: nas.alt.lan ip: 10.1.1.13/24 gw: 10.1.1.9 @@ -31,6 +34,7 @@ server_vms: ws_vms: ws: + template: ws-tmpl name: ws.alt.lan ip: 10.1.1.14/24 gw: 10.1.1.9 @@ -40,6 +44,7 @@ ws_vms: sockets: 1 memory: 2048 kws: + template: kws-tmpl name: kws.alt.lan ip: 10.1.1.15/24 gw: 10.1.1.9 diff --git a/readme.md b/readme.md index 494e060..ae8ff80 100644 --- a/readme.md +++ b/readme.md @@ -28,8 +28,9 @@ - [Добавление DNS записи о втором контроллере на первый](#добавление-dns-записи-о-втором-контроллере-на-первый) - [Разворачивание второго контроллера домена](#разворачивание-второго-контроллера-домена) - [Репликация между контроллерами](#репликация-между-контроллерами) - - [Создание пользователей контроллера домена](#создание-пользователей-контроллера-домена) - - [Добавление компьютеров в домен](#добавление-компьютеров-в-домен) + - [Создание пользователей контроллера домена](#создание-пользователей-контроллера-домена) + - [Добавление компьютеров в домен](#добавление-компьютеров-в-домен) + - [Разворачивание файлового сервера](#разворачивание-файлового-сервера) ### Описание стенда @@ -267,7 +268,7 @@ ansible-playbook 04_deploy_dc2_role.yml ansible-playbook 05_dc_replication.yml ``` -#### Создание пользователей контроллера домена +### Создание пользователей контроллера домена Эта задача позволяет создавать или удалять пользователей в домене. @@ -289,8 +290,49 @@ ansible-playbook 06_add_samba_users.yml ansible-playbook -e 'samba_user_mode=delete' 06_add_samba_users.yml ``` -#### Добавление компьютеров в домен +### Добавление компьютеров в домен Следующим этапом необходимо добавить компьютеры в домен. Для этой задачи создан плэйбук `07_add_samba_clients.yml` +Плэёбук выполняет следующие действия: +* **Проверка того, что узел не является членом домена** - если узел уже является членом домена, дальнейшее выполнение прерывается; +* **Обновление системы** - происходит обновление системы до актуального состояния; +* **Назначение корректного имени хоста** - устанавливается имя узла в соответствии с указанным в переменной в файле `mutable_vars.yml`; +* **Настройка резолвера на контроллеры домена** - чтобы вводимый узел мог найти доменные службы и подключиться к ним; +* **Обновление конфигурации резолвера** - для применения изменений настроек резолвера; +* **Установка клиентского пакета Samba**; +* **Ввод в домен**; +* **Проверка ввода в домен**; +* **Перезагрузка узла после добавления в домен** + +Запуск выполняется из директории `ansible` с помощью команды: + + +```bash +ansible-playbook 07_add_samba_clients.yml +``` + +### Разворачивание файлового сервера + +В этой роли выполняются задачи: Подготовка узла для развёртывания файлового сервера, Настройка файлового сервера Samba + +Подготовка узла для развёртывания файлового сервера: + +* **Проверка соответствия ОС** - таск выполнится при условии запуска на узле с ОС Альт, в противном случае будет выведено соответствующее сообщение и выполнение прервётся; +* **Проверка наличия развёрнутого домена на узле** - если на узле уже развёрнут контроллер домена, выполнение прервётся; +* **Обновление системы** - выполняется обновление системы до актуального состояния; +* **Назначение корректного имени хоста** - устанавливается имя узла в соответствии с указанным в переменной в файле `mutable_vars.yml`; +* **Настройка резолвера на контроллеры домена** - чтобы вводимый узел мог найти доменные службы и подключиться к ним; +* **Обновление конфигурации резолвера** - для применения изменений настроек резолвера; +* **Установка клиентского пакета Samba** +* **Ввод в домен** +* **Проверка ввода в домен** +* **Перезагрузка узла после добавления в домен** + +Настройка файлового сервера Samba: + +* **Установка пакета Samba**; +* **Создание разделяемого ресурса Samba** - создание директории и назначение её доменной группе; +* **Добавление в конфигурацию Samba данных о разделяемом ресурсе**; +* **Включение служб файлового сервера Samba**