Afai e vave tele le tuputupu aʻe o au atinaʻe IT, o le a e feagai ma se filifiliga: faʻateleina punaoa a tagata e lagolago ai pe amata ai le masini. Seʻia oʻo i se taimi, sa matou ola i le faʻataʻitaʻiga muamua, ona amata ai lea o le ala umi i Atinaʻe-as-Code.
O le mea moni, o le NSPK e le o se amataga, ae o sea atemosifia na pule i le kamupani i tausaga muamua o lona i ai, ma o na tausaga sili ona manaia. O lou igoa o
I se tulaga lautele, e mafai ona matou fai atu o le matou 'au e tuʻuina atu oloa 2 mo le kamupani. Muamua o mea tetele. E tatau ona galue le meli, e tatau ona galue le DNS, ma e tatau ona tuʻuina oe e pule o le domain i totonu o sapalai e le tatau ona paʻu. E telē tele le vaaiga IT a le kamupani! O faiga fa'atauva'a pisinisi ma misiona, o mana'oga avanoa mo nisi e 99,999. O le oloa lona lua o 'au'aunaga lava latou, fa'aletino ma fa'atagata. E mana'omia le mata'ituina o mea o iai nei, ma o mea fou e tatau ona tu'uina atu i taimi uma i tagata fa'atau mai le tele o matagaluega. I totonu o lenei tusiga ou te manaʻo e taulaʻi i le auala na matou atinaʻe ai atinaʻe e nafa ma le taamilosaga o le olaga o le server.
Le amataga o le auala
I le amataga o la matou faigamalaga, o la matou faʻaputuga tekonolosi e pei o lenei:
OS CentOS 7
FreeIPA Pule Fa'atonu
Otometi - Ansible(+Olo), Cobbler
O nei mea uma na maua i 3 domains, faʻasalalau i le tele o nofoaga autu o faʻamatalaga. I totonu o le tasi nofoaga autu o faʻamaumauga o loʻo i ai faiga ofisa ma nofoaga o suʻega, i le isi o loʻo i ai PROD.
O le fatuina o sapalai i se tasi taimi e pei o lenei:
I le faʻataʻitaʻiga VM, CentOS e laʻititi ma o le laʻititi manaʻomia e pei o le saʻo /etc/resolv.conf, o isi e sau mai le Ansible.
CMDB - Excel.
Afai o le 'auʻaunaga e faaletino, nai lo le kopiina o le masini komepiuta, na faʻapipiʻi le OS i luga e faʻaaoga ai le Cobbler - o tuatusi MAC o le faʻatonuga o loʻo faʻaopoopoina i le Cobbler config, e maua e le server se tuatusi IP e ala i le DHCP, ona sosoo ai lea ma le OS. ua faaopoopo.
I le taimi muamua na matou taumafai foi e fai se ituaiga pulega faʻatulagaina i Cobbler. Ae i le aluga o taimi, na amata ai ona aumaia faʻafitauli i le feaveaʻiina o faʻasalalauga i isi nofoaga autu faʻamaumauga ma le code Ansible mo le sauniaina o VM.
I lena taimi, o le toʻatele oi matou na iloa le Ansible o se faʻaopoopoga talafeagai o Bash ma e leʻi faʻafefe i mamanu e faʻaaoga ai atigi ma sed. Aotelega Bashsible. O lenei mea na iu ai i le mea moni e faapea afai o le tusi taʻavale mo nisi mafuaaga e leʻi galue i luga o le 'auʻaunaga, e sili atu ona faigofie le tapeina o le 'auʻaunaga, faʻapipiʻi le tusi taʻavale ma toe taʻavale. Sa matua leai se fa'aliliuga o tusitusiga, leai se fa'aogaina o fa'atonuga.
Mo se faʻataʻitaʻiga, matou te manaʻo e sui nisi faʻaoga i luga o sapalai uma:
- Matou te suia le faʻatulagaga i luga o sapalai o loʻo i ai i le vaega talafeagai / nofoaga autu o faʻamatalaga. O nisi taimi e le o se aso e tasi - o mana'oga avanoa ma le tulafono o numera tele e le fa'atagaina suiga uma e fa'aaoga i le taimi e tasi. Ma o nisi suiga e ono faʻaleagaina ma manaʻomia le toe amataina o se mea - mai auaunaga i le OS lava ia.
- Fa'amauina i le Ansible
- Matou te faʻaleleia i le Cobbler
- Toe fai N taimi mo vaega talafeagai ta'itasi/fa'amaumauga autu
Ina ia sologa lelei suiga uma, sa tatau ona amanaia le tele o itu, ma o suiga e tutupu i taimi uma.
- Refactoring code ansible, faila faatulagaina
- Suia faiga sili i totonu
- Suiga e fa'atatau i fa'ai'uga o su'esu'ega o fa'alavelave/fa'alavelave
- Suia tulaga saogalemu, i totonu ma fafo. Mo se faʻataʻitaʻiga, PCI DSS e faʻafouina ma manaʻoga fou i tausaga taʻitasi
Faʻatupulaia o atinaʻe ma le amataga o le faigamalaga
O le numera o 'auʻaunaga / logical domains / faʻamaumauga autu na faʻatupulaia, ma faʻatasi ai ma i latou le numera o mea sese i faʻasalalauga. I se taimi, na matou oʻo mai i itu e tolu e manaʻomia ai le atinaʻeina o le pulega faʻatulagaina:
- Otometi. O mea sese a tagata i gaioiga faifaipea e tatau ona aloese mai le tele e mafai ai.
- Toe fai. E sili atu ona faigofie le puleaina o atinaʻe pe a vaʻaia. O le faʻatulagaina o 'auʻaunaga ma meafaigaluega mo a latou sauniuniga e tatau ona tutusa i soʻo se mea. E taua foi lenei mea mo 'au o oloa - pe a maeʻa suʻega, e tatau ona faʻamaonia le talosaga e faʻaiʻu i se siosiomaga gaosiga faʻatulagaina tutusa ma le siosiomaga suʻega.
- Fa'afaigofie ma le manino o le faia o suiga ile pulega fa'atulagaina.
E tumau pea le faʻaopoopoina o ni meafaigaluega se lua.
Na matou filifilia le GitLab CE e fai ma la matou fale teu oloa, e le itiiti ifo mo ona faʻapipiʻiina CI / CD modules.
Vault o mealilo - Hashicorp Vault, aofia ai. mo le API sili.
Fa'ata'ita'iga fa'ata'ita'iga ma matafaioi fa'atino - Molecule+Testinfra. E sili atu le saoasaoa o suʻega pe a e faʻafesoʻotaʻi i le ansible mitogen. I le taimi lava e tasi, na amata ona matou tusia a matou lava CMDB ma le au faʻapipiʻi mo le faʻapipiʻiina otometi (i le ata o loʻo i luga o le Cobbler), ae o se tala e matua ese lava, lea o le a taʻu mai e laʻu paaga ma le faʻavae autu o nei faiga i le lumanaʻi.
O la matou filifiliga:
Molecule + Testinfra
Ansible + Olo + AWX
Lalolagi o Au'aunaga + DITNET (Lava atina'e)
Tagata avamalosi
Gitlab + GitLab tamo'e
Hashicorp Vault
I le auala, e uiga i matafaioi ansible. I le taimi muamua sa i ai na o le tasi, ae ina ua mavae le tele o refactorings sa i ai 17 oi latou ou te matua fautuaina le talepeina o le monolith i le tulaga e mafai ona faalauiloa ese, e mafai ona e faaopoopo pine. Na matou vaevaeina matafaioi e ala i galuega - fesoʻotaʻiga, logging, afifi, meafaigaluega, mole ma isi. I se tulaga lautele, sa matou mulimuli i le taʻiala o loʻo i lalo. Ou te le fai atu e na o le pau lea o le upumoni, ae na aoga mo i matou.
- O le kopiina o sapalai mai le "ata auro" e leaga!O le mea sili ona le lelei o le le iloa tonu lea o le tulaga o loʻo i ai nei ata, ma o suiga uma o le a oʻo mai i ata uma i faʻatoʻaga faʻataʻitaʻi uma.
- Fa'aoga faila fa'aoga fa'aletonu i se fa'aitiitiga ma malilie fa'atasi ma isi matagaluega o oe e nafa ma faila fa'atonu autu, mo se faataitaiga:
- Tu'u le /etc/sysctl.conf gaogao, e tatau ona i ai na'o totonu /etc/sysctl.d/. O lou faaletonu i le tasi faila, masani mo le talosaga i le isi.
- Fa'aaoga faila e fa'amalo e fa'asa'o ai iunite fa'a-system.
- Fa'ata'ita'i configs uma ma fa'aaofia uma pe a mafai, leai sed po'o ana analogues i tusi ta'aloga
- Toe fa'afo'i le fa'atonuga o le fa'atonuga o le fa'atonuga o le fa'atonuga:
- Vaevae galuega i vaega talafeagai ma toe tusi le monolith i matafaioi
- Faʻaaoga liters! Ansible-lint, yaml-lint, etc
- Suia lau auala! Leai se fa'alumaina. E tatau ona faʻamatalaina le tulaga o le faiga
- Mo matafaioi uma a le Ansible e te mana'omia le tusi o su'ega ile mole ma fa'atupu lipoti fa'atasi i le aso.
- I la matou tulaga, ina ua uma ona saunia suʻega (lea e sili atu i le 100), e tusa ma le 70000 mea sese na maua. Na alu ni nai masina e toe faaleleia.
O le tatou faatinoga
O lea la, o matafaioi fa'atino sa saunia, fa'ata'ita'i ma siaki e liters. Ma e oʻo lava i gits e faʻatupuina i soo se mea. Ae o le fesili o le tuʻuina atu o tulafono faʻalagolago i vaega eseese na tumau pea le tatalaina. Na matou filifili e fa'amaopoopo ma fa'amaumauga. E fa'apea:
A oʻo mai le suiga, faʻalauiloa CI, faia se suʻega suʻega, faʻataʻavaleina matafaioi, ma faʻataʻitaʻiina e le mole. Afai e lelei mea uma, e alu le code i le lala prod. Ae matou te le faʻaogaina se code fou i sapalai o loʻo i ai i le masini. Ole ituaiga tapuni lea e mana'omia mo le avanoa maualuga oa tatou faiga. Ma a o'o ina tetele le atina'e, e o'o mai le tulafono o numera tele - tusa lava pe e te mautinoa o le suiga e le afaina, e mafai ona o'o atu ai i ni fa'alavelave mata'utia.
E tele foi filifiliga mo le fatuina o sapalai. Na iu ina matou filifilia ni tusitusiga Python masani. Ma mo CI ansible:
- name: create1.yml - Create a VM from a template
vmware_guest:
hostname: "{{datacenter}}".domain.ru
username: "{{ username_vc }}"
password: "{{ password_vc }}"
validate_certs: no
cluster: "{{cluster}}"
datacenter: "{{datacenter}}"
name: "{{ name }}"
state: poweredon
folder: "/{{folder}}"
template: "{{template}}"
customization:
hostname: "{{ name }}"
domain: domain.ru
dns_servers:
- "{{ ipa1_dns }}"
- "{{ ipa2_dns }}"
networks:
- name: "{{ network }}"
type: static
ip: "{{ip}}"
netmask: "{{netmask}}"
gateway: "{{gateway}}"
wake_on_lan: True
start_connected: True
allow_guest_control: True
wait_for_ip_address: yes
disk:
- size_gb: 1
type: thin
datastore: "{{datastore}}"
- size_gb: 20
type: thin
datastore: "{{datastore}}"
O le mea lea ua tatou oo mai ai, o loo ola pea ma atiina ae le faiga.
- 17 Matafaioi matafaioi mo le setiina o le server. O matafaioi taʻitasi ua mamanuina e foia ai se galuega faʻapitoa (taʻotoga, suʻega, faʻatagaina tagata faʻaoga, mataʻituina, ma isi).
- Su'ega o matafaioi. Molecule + TestInfra.
- Lava atina'e: CMDB + Orchestrator.
- O le taimi e fai ai le server e ~ 30 minute, otometi ma toetoe lava tutoatasi mai le laina o galuega.
- Le tulaga tutusa / faʻaigoaina o atinaʻe i vaega uma - tusi taʻaloga, fale teu oloa, elemene virtualization.
- Su'esu'e i aso uma le tulaga o le 'au'aunaga fa'atasi ai ma le fa'atupuina o lipoti i fa'aletonu ma le tulaga masani.
Ou te faʻamoemoe o le a aoga laʻu tala ia i latou o loʻo i le amataga o la latou faigamalaga. O le a le faaputuga masini e te fa'aogaina?
puna: www.habr.com