サーバーライフサイクル全体をどのように自動化したか

こんにちは、Habr!私の名前はアレクセイナザロフです。National Payment Card System(NSPK JSC)のインフラストラクチャシステムの管理部門で自動化に携わっていますが、開発に役立つ社内製品について少しお話ししたいと思います。



私たちのインフラストラクチャに関する投稿をまだ読んでない場合は、それが時間です!この投稿を読んだ後、私たちが開発して実装した内部製品のいくつかについてお話ししたいと思います。



画像



当社は、他の会社と同様に、独自の規制とビジネスプロセスを持っています。そのうちの1つは、JiraServiceDeskの要求に応じてサーバーまたはサーバースタンドを作成するためのものです。サーバーには機能的な管理者がいます。オーナー。サーバーにはステータス(テスト、生産、UATなど)もあります。ステータスやその他の特性により、サーバーはセグメント、データセンター、データストア、ネットワークなどに配置する必要があります。したがって、サーバーを作成するには、最初に次のことを行う必要があります。VMwareでサーバーを作成し、その名前、ip、dns、およびその他の重要なパラメーターを設定してから、ansible-playbookを実行します。



開発の歴史



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

:



画像



, , .



画像



:



  • ( , , )
  • , , /


画像







:



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


画像



, DitNet, . .





DitNet . .

Gitlab . Ansible-playbook, Gitlab CI . Pipeline:



画像



pipeline , unit-. , , .

Ansible-playbook Ansible Tower (AWX) , .



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







  • … !


P.S. ! !




All Articles