Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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.

Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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 Kornyakov Dmitry, Sa ou lagolagoina Linux atinaʻe ma manaʻoga maualuga avanoa mo le silia ma le 10 tausaga. Na ia auai i le au a le NSPK ia Ianuari 2016 ma, o le mea e leaga ai, na te leʻi vaʻai i le amataga o le i ai o le kamupani, ae na oʻo mai i se tulaga o suiga tetele.

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:

Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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:

  1. 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.
  2. Fa'amauina i le Ansible
  3. Matou te faʻaleleia i le Cobbler
  4. 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:

  1. Otometi. O mea sese a tagata i gaioiga faifaipea e tatau ona aloese mai le tele e mafai ai.
  2. 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.
  3. 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

Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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:
    1. 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.
    2. 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:
    1. Vaevae galuega i vaega talafeagai ma toe tusi le monolith i matafaioi
    2. Faʻaaoga liters! Ansible-lint, yaml-lint, etc
    3. 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.Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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:

Mai se "amataina" i le faitau afe o sapalai i totonu o nofoaga autu o faʻamatalaga. Le faʻafefea ona matou tulituliloaina le tuputupu aʻe o atinaʻe Linux

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