Comment nous avons automatisé l'ensemble du cycle de vie des serveurs

Bonjour, Habr! Je m'appelle Alexey Nazarov . Je suis engagé dans l'automatisation au sein du département d'administration des systèmes d'infrastructure du système national de cartes de paiement (NSPK JSC) et je voudrais parler un peu de nos produits internes qui nous aident à nous développer.



Si vous n'avez pas encore lu l' article sur notre infrastructure, il est temps! Après avoir lu cet article, j'aimerais parler de certains des produits internes que nous avons développés et mis en œuvre.



image



Notre entreprise, comme toute autre, a ses propres réglementations et processus commerciaux. L'un d'eux est celui selon lequel nous créons des serveurs ou stand de serveurs à la demande du Jira ServiceDesk. Le serveur a un administrateur fonctionnel, c'est-à-dire propriétaire. Les serveurs ont également un statut (Test, Productif, UAT, etc.). En raison des statuts et d'autres caractéristiques, les serveurs doivent être situés dans leur segment, centre de données, banque de données, réseau, etc. Ainsi, pour créer un serveur, vous devez d'abord: créer un serveur dans VMware, lui donner un nom, une adresse IP, un DNS et d'autres paramètres importants, puis exécuter le livre de jeu ansible.



Histoire du développement



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 . , - .

:



image



, , .



image



:



  • ( , , )
  • , , /


image







:



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.
  • . :


image



, DitNet, . .





DitNet . .

Gitlab . Ansible-playbook, Gitlab CI . Pipeline:



image



pipeline , unit-. , , .

Ansible-playbook Ansible Tower (AWX) , .



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







  • … !


P.S. ! !




All Articles