Cómo automatizamos todo el ciclo de vida de los servidores

¡Hola, Habr! Mi nombre es Alexey Nazarov . Me dedico a la automatización en el departamento de administración de sistemas de infraestructura en el Sistema Nacional de Tarjetas de Pago (NSPK JSC) y me gustaría contarles un poco sobre nuestros productos internos que nos ayudan a desarrollarnos.



Si aún no ha leído la publicación sobre nuestra infraestructura, ¡es hora! Después de leer esta publicación, me gustaría compartir algunos de los productos internos que hemos desarrollado e implementado.



imagen



Nuestra empresa, como cualquier otra, tiene sus propias regulaciones y procesos comerciales. Uno de ellos es aquel según el cual creamos servidores o un stand de servidor a solicitud del Jira ServiceDesk. El servidor tiene un administrador funcional, es decir propietario. Los servidores también tienen un estado (Prueba, Productivo, UAT, etc.). Por los estados y otras características, los servidores deben estar ubicados en su segmento, centro de datos, almacén de datos, red, etc. Entonces, para crear un servidor, primero debe: crear un servidor en VMware, establecer su nombre, ip, dns y otros parámetros importantes, y luego ejecutar el ansible-playbook.



Historia del desarrollo



2015 . , . - c , . 1- : , , .. 1- . , . 1-.



excel-. ip phpIPAM https://phpipam.net/. phpIPAM — open source . . 700.



: , Windows, Linux. , .



. , . . :



  1. , , ...
  2. Vcenter
  3. bash- ansible-playbook’
  4. excel-
  5. ip phpIPAM
  6. ,


, . .



. phpIPAM . . , excel, .



Python, - Django. CMDB . . ? …





. 5000 . , - .

:



imagen



, , .



imagen



:



  • ( , , )
  • , , /


imagen







:



1) ip phpIPAM

2) Jira ServiceDesk ( )

3) dcTrack (https://www.sunbirddcim.com/)



1) REST API Zabbix

2) REST API

3) 1 Active Directory , , , . , , , .



DitNet



10 . , - PCI-DSS.



json , VMware. json rsync ftps — .



, . bashsible, ansible , molecule (https://molecule.readthedocs.io/), VMware . VMware ( 900).



. Distributed Switch «test2», 192.168.1.0|24_test2. , json phpIPAM VMware.



:



1) DitNet VMware (, , , .). json



2) VMware



3) , Jira ServiceDesk jql- «». VMware (. ). , .





4) «», Jira ServiceDesk « »



5) json (, dns, ip ..) ( )



6) DitNet . ( : « »)



7) DitNet 5 Celery beat, ,



8) Celery worker :



a. VMware ( pyvmomi)

b. gitlab

c. Ansible-playbook ( https://docs.ansible.com/ansible/latest/dev_guide/developing_api.html)

d. Molecule

e.



9) . – Jira ServiceDesk. - , Vmware Ansible.



Ditnet :



  • . Ansible setup. . Windows Linux.
  • SNMP . , BIOS, IPMI ..
  • Freeipa (HBAC, SUDO ), Active Directory.
  • . :


imagen



, DitNet, . .





DitNet . .

Gitlab . Ansible-playbook, Gitlab CI . Pipeline:



imagen



pipeline , unit-. , , .

Ansible-playbook Ansible Tower (AWX) , .



DitNet docker, . docker-compose. docker-compose services systemd.







  • … !


P.S. ! !




All Articles