Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

Ọ bụrụ na akụrụngwa IT gị tolitere ngwa ngwa, n'oge na-adịghị anya, ị ga-eche nhọrọ ihu: na-abawanye akụrụngwa mmadụ iji kwado ya ma ọ bụ bido akpaaka. Ruo oge ụfọdụ, anyị bi na paradaịs mbụ, wee malite ogologo ụzọ maka akụrụngwa-dị ka koodu.

Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

N'ezie, NSPK abụghị mmalite, ma ọnọdụ dị otú ahụ chịrị na ụlọ ọrụ ahụ n'ime afọ mbụ nke ịdị adị ya, na ndị ahụ bụ afọ na-adọrọ mmasị. Aha m bụ Kornyakov DmitryAnọ m na-akwado akụrụngwa ahụ ihe karịrị afọ iri. Linux nwere ihe achọrọ maka nnweta dị elu. Esonyere m ndị otu NSPK na Jenụwarị 2016, ọ dịkwa mwute na ahụghị m mmalite ụlọ ọrụ ahụ, mana o rutere n'oge mgbanwe dị ukwuu.

N'ozuzu, ndị otu anyị na-ebuga ngwaahịa abụọ na ụlọ ọrụ ahụ. Nke mbụ bụ akụrụngwa. Mail kwesịrị ịrụ ọrụ, DNS kwesịrị ịrụ ọrụ, ndị njikwa ngalaba kwesịrị ijikọ gị na sava ndị na-ekwesịghị ịda. Ọdịdị IT nke ụlọ ọrụ ahụ buru ibu! Ndị a bụ sistemụ dị mkpa maka ọrụ azụmaahịa, ụfọdụ nwere ihe achọrọ maka nnweta 99,999. Ngwaahịa nke abụọ bụ sava n'onwe ha, ma nke anụ ahụ ma nke mebere. Ekwesịrị inyocha ndị dị adị, a ga-ebugakwa ndị ọhụrụ mgbe niile nye ndị ahịa n'ọtụtụ ngalaba. N'isiokwu a, achọrọ m ilekwasị anya n'otú anyị si mepụta akụrụngwa nke na-akwado usoro ndụ. sava.

Mmalite nke ụzọ

Ná mmalite nke njem anyị, nchịkọta teknụzụ anyị dị ka nke a:
Os CentOS 7
Ndị njikwa ngalaba FreeIPA
Akpaaka - Enwere ike (+Tower), Cobbler

Ihe a niile dị na ngalaba 3, gbasaa n'ọtụtụ ebe data. N'otu ebe data enwere sistemụ ụlọ ọrụ na saịtị nnwale, na ndị ọzọ enwere PROD.

Ịmepụta sava n'otu oge dị ka nke a:

Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

Na ndebiri VM CentOS obere na obere ihe, dịka /etc/resolv.conf ziri ezi, ndị ọzọ na-abịa site na Ansible.

CMDB - Excel.

Ọ bụrụ na ihe nkesa ahụ bụ anụ ahụ, yabụ kama iṅomi igwe mebere, etinyere OS na ya site na iji Cobbler - a na-agbakwunye adreesị MAC nke ihe nkesa ebumnuche na nhazi Cobbler, ihe nkesa na-enweta adreesị IP site na DHCP, wee tinye OS. na-agbakwunyere.

Na mbụ anyị gbalịrị ime ụfọdụ ụdị nhazi nhazi na Cobbler. Ma ka oge na-aga, nke a malitere iweta nsogbu na ntinye nke nhazi ma na ebe data ndị ọzọ yana koodu nwere ike ịkwado VM.

N'oge ahụ, ọtụtụ n'ime anyị ghọtara na ọ ga-ekwe omume dị ka mgbatị Bash dị mma ma ghara iji shei na sed mee ihe n'ụdị. N'ozuzu Bashsible. Nke a mechara mee ka eziokwu ahụ bụrụ na ọ bụrụ na akwụkwọ egwuregwu ahụ n'ihi ihe ụfọdụ anaghị arụ ọrụ na ihe nkesa ahụ, ọ dị mfe ihichapụ ihe nkesa ahụ, dozie akwụkwọ egwu ma mee ya ọzọ. Enweghị nsụgharị nke scripts, enweghị nhazi nhazi.

Dịka ọmụmaatụ, anyị chọrọ ịgbanwe ụfọdụ nhazi na sava niile:

  1. Anyị na-agbanwe nhazi na sava ndị dị na mpaghara ezi uche / ebe data. Mgbe ụfọdụ ọ bụghị n'otu ụbọchị - nnweta chọrọ na iwu nke ọnụ ọgụgụ buru ibu anaghị ekwe ka mgbanwe niile tinye n'otu oge. Mgbanwe ụfọdụ nwere ike ibibi ma chọọ ịmalitegharị ihe - site na ọrụ gaa na OS n'onwe ya.
  2. Idozi ya na ike
  3. Anyị na-edozi ya na Cobbler
  4. Tinyegharịa ugboro N maka akụkụ ezi uche dị na ya / etiti data ọ bụla

Ka mgbanwe niile wee na-aga nke ọma, ọ dị mkpa iburu n'uche ọtụtụ ihe, na mgbanwe na-eme mgbe niile.

  • Na-emegharị koodu nwere ike ime, faịlụ nhazi
  • Ịgbanwe omume kacha mma n'ime
  • Mgbanwe dabere na nsonaazụ nyocha nke ihe omume/ihe mberede
  • Ịgbanwe ụkpụrụ nchekwa, ma n'ime ma n'èzí. Dịka ọmụmaatụ, a na-eji ihe ọhụrụ emelite PCI DSS kwa afọ

Uto akụrụngwa na mmalite nke njem

Ọnụ ọgụgụ nke sava / ngalaba ezi uche / ebe data na-eto eto, yana ọnụ ọgụgụ nke njehie na nhazi. N'oge ụfọdụ, anyị rutere n'akụkụ atọ nke nhazi nhazi kwesịrị ịmepụta:

  1. Akpaaka. Ekwesịrị izere njehie mmadụ na arụ ọrụ ugboro ugboro dịka o kwere mee.
  2. Nkwagharị ugboro ugboro. Ọ dị mfe ijikwa akụrụngwa mgbe enwere ike ịkọ ya. Nhazi nke sava na ngwaọrụ maka nkwadebe ha kwesịrị ịbụ otu ebe niile. Nke a dịkwa mkpa maka ndị otu ngwaahịa - mgbe ulechara, ngwa ahụ ga-ekwe nkwa na ọ ga-ejedebe na ebe mmepụta ahaziri n'otu aka ahụ na gburugburu ule.
  3. Mfe na nghọta nke ime mgbanwe na nhazi nhazi.

Ọ ka dị ka ịgbakwunye ngwaọrụ abụọ.

Anyị họọrọ GitLab CE dị ka ebe nchekwa koodu anyị, ọbụlagodi maka modul CI/CD arụnyere n'ime ya.

Vault of secret - Hashicorp Vault, incl. maka ezigbo API.

Nhazi ule na ọrụ enwere ike - Molecule+Testinfra. Nnwale na-aga ngwa ngwa ma ọ bụrụ na ị jikọọ na mitogen nwere ike ime. N'otu oge ahụ, anyị malitere ide CMDB nke onwe anyị na onye na-agụ egwú maka ntinye aka na-akpaghị aka (na foto dị n'elu Cobbler), ma nke a bụ akụkọ dị iche iche, nke onye ọrụ ibe m na onye isi mmepụta nke usoro ndị a ga-ekwu n'ọdịnihu.

Nhọrọ anyị:

Molecule + Testinfra
Enwere ike ime + Tower + AWX
Ụwa nke sava + DITNET (mmepe nke onwe)
Onye na -eme mkpọtụ
Gitlab + GitLab onye na-agba ọsọ
Ụlọ ọrụ Hashicorp Vault

Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

Site n'ụzọ, gbasara ọrụ ndị nwere ike ime. Na mbụ e nwere nanị otu, ma mgbe ọtụtụ refactoring, e nwere 17 n'ime ha. Ana m akwado ike imebi monolith n'ime idempotent ọrụ, nke nwere ike malite iche iche; Ọzọkwa, ị nwere ike tinye mkpado. Anyị kewara ọrụ ndị ahụ site na arụmọrụ - netwọkụ, osisi, ngwugwu, ngwaike, molecule wdg. N'ozuzu, anyị gbasoro atụmatụ dị n'okpuru. Anaghị m ekwusi ike na nke a bụ naanị eziokwu, mana ọ rụrụ ọrụ maka anyị.

  • Iṅomi ihe nkesa site na "onyinyo ọla edo" dị njọ!Ihe ọghọm dị na ya bụ na ị maghị kpọmkwem ọnọdụ onyonyo dị ugbu a, yana na mgbanwe niile ga-abịa na onyonyo niile n'ugbo niile nke ọma.
  • Jiri faịlụ nhazi nke ndabara na opekempe wee kwenye na ngalaba ndị ọzọ na ọ bụ gị na-ahụ maka faịlụ sistemụ bụ isi, dịka ọmụmaatụ:
    1. Hapụ /etc/sysctl.conf efu, ntọala kwesịrị ịdị na /etc/sysctl.d/. Ndabara gị n'otu faịlụ, omenala maka ngwa na nke ọzọ.
    2. Jiri wepu faịlụ iji dezie nkeji sistemu.
  • Depụta nhazi niile wee tinye ha kpamkpam; ọ bụrụ na ọ ga-ekwe omume, enweghị sed ma ọ bụ analogues ya na akwụkwọ egwuregwu
  • Na-emegharị koodu sistemụ njikwa nhazi nhazi:
    1. Kewaa ihe aga-eme n'ime ihe ezi uche dị na ya wee degharịa monolith ka ọ bụrụ ọrụ
    2. Jiri linters! Enwere ike - lint, yaml-lint, wdg
    3. Gbanwee ụzọ gị! Enweghị mkparị. Ọ dị mkpa ịkọwa ọnọdụ nke usoro ahụ
  • Maka ọrụ niile enwere ike ị ga-ede ule na molecule wee mepụta akụkọ otu ugboro n'ụbọchị.
  • N'ọnọdụ anyị, mgbe ị kwadebere ule (nke nwere ihe karịrị 100), ihe dị ka 70000 njehie hụrụ. O were ọtụtụ ọnwa iji dozie ya.Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

Anyị mmejuputa iwu

Yabụ, ọrụ ndị nwere ike dị njikere, depụta ya ma lelee ya site na linters. Na ọbụna gits na-ebuli ebe niile. Mana ajụjụ maka nnyefe koodu a pụrụ ịdabere na ya na ngalaba dị iche iche ka ghere oghe. Anyị kpebiri imekọrịta na scripts. Ọ dị ka nke a:

Site na ụlọ ọrụ mmalite ruo ọtụtụ puku sava dị na ọtụtụ ebe nchekwa data. Otu anyị si achụso uto. Linux akụrụngwa

Mgbe mgbanwe ahụ rutere, a na-ewepụta CI, a na-emepụta ihe nkesa ule, a na-atụgharị ọrụ, ma nwalee ya site na molecule. Ọ bụrụ na ihe niile dị mma, koodu na-aga na ngalaba prod. Mana anyị anaghị etinye koodu ọhụrụ na sava ndị dị na igwe. Nke a bụ ụdị nkwụsị nke dị mkpa maka ịdị elu nke sistemụ anyị. Na mgbe akụrụngwa na-aghọ nnukwu, iwu nke ọnụ ọgụgụ buru ibu na-abata - ọbụlagodi na ị ji n'aka na mgbanwe ahụ adịghị njọ, ọ nwere ike ibute nsonaazụ dị egwu.

Enwekwara ọtụtụ nhọrọ maka ịmepụta sava. Anyị mechara họrọ script Python omenala. Na maka CI nwere ike:

- 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}}"

Nke a bụ ihe anyị bịara, usoro ahụ na-aga n'ihu na-adị ndụ ma na-etolite.

  • 17 Ọrụ enwere ike maka ịtọlite ​​​​sava. Emebere ọrụ nke ọ bụla iji dozie ọrụ ezi uche dị iche iche (ịgba osisi, nyocha, ikike onye ọrụ, nleba anya, wdg).
  • Nnwale ọrụ. Molecule + TestInfra.
  • Mmepe nke onwe: CMDB + Ọchịst.
  • Oge imepụta ihe nkesa bụ ~ nkeji iri atọ, akpaaka na enweghị onwe ya na kwụ n'ahịrị ọrụ.
  • Otu steeti/aha nke akụrụngwa dị na ngalaba niile - akwụkwọ egwuregwu, ebe nchekwa, ihe ndị na-eme nke ọma.
  • Nyochaa ọkwa kwa ụbọchị nke ihe nkesa yana ọgbọ nke akụkọ gbasara enweghị nkwekọrịta na ọkọlọtọ.

Enwere m olileanya na akụkọ m ga-aba uru nye ndị nọ na mmalite nke njem ha. Kedu ngwugwu akpaaka ị na-eji?

isi: www.habr.com

Zụta nnabata ntụkwasị obi maka saịtị nwere nchekwa DDoS, sava VPS VDS 🔥 Zụta ebe nrụọrụ weebụ a pụrụ ịtụkwasị obi na nchekwa DDoS, sava VPS VDS | ProHoster