User Tools

Site Tools


сервис_ansible

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
сервис_ansible [2022/09/22 10:56]
val [Пример 1]
сервис_ansible [2022/12/01 14:07]
val [Пример 3]
Line 1: Line 1:
 ====== Сервис Ansible ====== ====== Сервис Ansible ======
 +
 +  * Управление инфраструктурой на примере [[https://​ru.wikipedia.org/​wiki/​Ansible|Аnsible - wikipedia]]
  
   * [[https://​habrahabr.ru/​company/​express42/​blog/​254959/​|Ansible — давайте попробуем]]   * [[https://​habrahabr.ru/​company/​express42/​blog/​254959/​|Ansible — давайте попробуем]]
-  * [[https://​habrahabr.ru/​post/​195048/​|Ansible]] 
   * [[https://​habrahabr.ru/​post/​305400/​|Пособие по Ansible]]   * [[https://​habrahabr.ru/​post/​305400/​|Пособие по Ansible]]
  
Line 133: Line 134:
  
 <​code>​ <​code>​
-# cat provision_docker.yml+server# cat provision_docker.yml
  
   или   или
Line 177: Line 178:
  
 <​code>​ <​code>​
-gate# ansible-playbook provision_docker.yml+server# ansible-playbook provision_docker.yml
  
-gate# ansible-playbook provision_docker.yml -i inv_file.ini+server# ansible-playbook provision_docker.yml --extra-vars "​variable_host=nodes"​
  
-gate# ansible-playbook provision_docker.yml -"ansible_python_interpreter=/​usr/​bin/​python3" ​-i 192.168.X.1:​2222,​+server# ansible-playbook provision_docker.yml --extra-vars ​"variable_host=localhost"
  
-gate# ansible-playbook provision_docker.yml --extra-vars "​variable_host=corp"​+server# ansible-playbook provision_docker.yml -i inv_file.ini
  
-gate# ansible-playbook provision_docker.yml --extra-vars ​"variable_host=localhost"+server# ansible-playbook provision_docker.yml -"ansible_python_interpreter=/​usr/​bin/​python3" ​-i 192.168.X.1:​2222,​
 </​code>​ </​code>​
 ==== Пример 2 ==== ==== Пример 2 ====
Line 228: Line 229:
       ios_config:       ios_config:
         lines:         lines:
 +          - snmp-server community write RW
 +        ​
           - ip host server 192.168.X.10           - ip host server 192.168.X.10
  
           - snmp-server host server writetrap           - snmp-server host server writetrap
-          - snmp-server community write RW 
  
 #          - snmp-server enable traps config #          - snmp-server enable traps config
Line 375: Line 377:
  
   * [[https://​rtfm.co.ua/​ansible-roli-roles-primer/​|Ansible:​ роли (roles) – пример]]   * [[https://​rtfm.co.ua/​ansible-roli-roles-primer/​|Ansible:​ роли (roles) – пример]]
 +  * [[https://​andreyex.ru/​linux/​ansible-roli-v-ansible/​|Ansible. Роли в Ansible]]
   * [[Настройка стендов слушателей#​Ansible конфигурация]]   * [[Настройка стендов слушателей#​Ansible конфигурация]]
  
Line 460: Line 463:
 ==== Роль OpenVPN сервера ==== ==== Роль OpenVPN сервера ====
 <​code>​ <​code>​
 +server:~# wget https://​val.bmstu.ru/​unix/​conf.git/​conf/​ansible/​roles/​openvpn1.tgz && tar -xvzf openvpn1.tgz
 +
 +  ИЛИ
 +
 server:~# mkdir openvpn1 && cd openvpn1 server:~# mkdir openvpn1 && cd openvpn1
  
Line 474: Line 481:
 dh2048.pem ​ server.crt ​ server.key dh2048.pem ​ server.crt ​ server.key
 </​code><​code>​ </​code><​code>​
-server:​~/​openvpn1/​openvpn1/​files#​ cd -+server:​~/​openvpn1/​openvpn1/​files#​ cd ../../
  
 server:​~/​openvpn1#​ cat openvpn1/​templates/​openvpn1.conf.j2 server:​~/​openvpn1#​ cat openvpn1/​templates/​openvpn1.conf.j2
Line 483: Line 490:
 server {{node_nets[ansible_hostname]}} 255.255.255.0 server {{node_nets[ansible_hostname]}} 255.255.255.0
  
-push "route 192.168.X.0 255.255.255.0"​ +push "route 192.168.{{X}}.0 255.255.255.0"​ 
-#push "​dhcp-option DNS 192.168.X.10"​+#push "​dhcp-option DNS 192.168.{{X}}.10"
 #push "​block-outside-dns"​ #push "​block-outside-dns"​
  
Line 547: Line 554:
 all: all:
   vars:   vars:
 +    X: "{{ ansible_eth1.ipv4.address.split('​.'​)[2] }}"
     ansible_python_interpreter:​ "/​usr/​bin/​python3"​     ansible_python_interpreter:​ "/​usr/​bin/​python3"​
     ansible_ssh_user:​ vagrant     ansible_ssh_user:​ vagrant
Line 579: Line 587:
 server:​~/​openvpn1#​ ansible-playbook openvpn1.yaml -i inventory.yaml -e "​variable_host=all"​ server:​~/​openvpn1#​ ansible-playbook openvpn1.yaml -i inventory.yaml -e "​variable_host=all"​
 </​code>​ </​code>​
 +
 +  * [[Сервисы Gateway и routing#​Управление таблицей маршрутизации]]
  
 ==== Фрагмент роли с условиями и отладкой ==== ==== Фрагмент роли с условиями и отладкой ====
сервис_ansible.txt · Last modified: 2024/03/25 10:43 by val