Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Yog tias koj cov khoom siv IT loj hlob sai dhau, koj yuav ntsib kev xaiv sai dua: nce cov peev txheej tib neeg uas xav tau los txhawb nws lossis siv automation. Txog rau qee lub sijhawm, peb nyob hauv thawj tus qauv, tab sis tom qab ntawd txoj kev taug kev ntev mus rau Infrastructure-as-Code pib.

Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Tau kawg, NSPK tsis yog ib lub tuam txhab pib ua lag luam, tab sis qhov ntawd yog qhov chaw uas tau kav hauv lub tuam txhab thaum nws tseem hluas, thiab cov xyoo ntawd yog cov xyoo nthuav heev. Kuv lub npe yog Dmitry KornyakovKuv tau txhawb nqa cov khoom siv hauv paus rau ntau tshaj 10 xyoo. Linux nrog rau qhov yuav tsum tau nkag mus tau yooj yim heev. Kuv tau koom nrog pab pawg NSPK thaum Lub Ib Hlis 2016 thiab, hmoov tsis zoo, tsis tau paub txog lub tuam txhab thaum pib, tab sis tuaj txog rau lub sijhawm muaj kev hloov pauv loj.

Feem ntau, peb pab neeg xa ob yam khoom rau lub tuam txhab. Thawj qhov yog cov khoom siv hauv paus. Xa ntawv yuav tsum ua haujlwm, DNS yuav tsum ua haujlwm, thiab cov tswj hwm lub npe yuav tsum txuas koj mus rau cov servers uas yuav tsum tsis txhob poob. Lub tuam txhab IT toj roob hauv pes yog dav heev! Cov no yog cov txheej txheem ua lag luam-lub hom phiaj-tseem ceeb, qee qhov muaj 99,999 qhov yuav tsum tau muaj. Cov khoom thib ob yog cov servers lawv tus kheej, ob qho tib si lub cev thiab virtual. Cov uas twb muaj lawm yuav tsum tau saib xyuas, thiab cov tshiab yuav tsum tau xa mus rau cov neeg siv khoom tsis tu ncua thoob plaws ntau lub chaw haujlwm. Hauv tsab xov xwm no, kuv xav tsom mus rau peb txoj kev tsim cov khoom siv hauv paus uas txhawb nqa lub neej voj voog. servers.

Pib ntawm txoj kev taug

Thaum pib ntawm peb txoj kev taug kev, peb cov khoom siv thev naus laus zis zoo li no:
OS CentOS 7
Cov Tswj Xyuas Lub Npe FreeIPA
Kev Ua Haujlwm Tsis Siv Neeg - Ansible (+Tower), Cobbler

Tag nrho cov no tau nyob hauv peb thaj chaw, kis thoob plaws ntau lub chaw khaws ntaub ntawv. Ib lub chaw khaws ntaub ntawv yog cov chaw ua haujlwm thiab cov chaw sim, lwm qhov yog rau kev tsim khoom.

Muaj ib lub sijhawm, kev tsim cov servers zoo li no:

Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Hauv daim ntawv VM template CentOS tsawg kawg nkaus thiab qhov tsawg kawg nkaus, zoo li qhov tseeb /etc/resolv.conf, tus so los ntawm Ansible.

CMDB - Excel.

Yog tias lub server yog lub cev, ces es tsis txhob theej lub tshuab virtual, lub OS raug ntsia rau ntawm nws siv Cobbler. Cov chaw nyob MAC ntawm lub server phiaj xwm raug ntxiv rau Cobbler config, lub server tau txais chaw nyob IP ntawm DHCP, thiab tom qab ntawd OS raug thauj khoom.

Thaum xub thawj, peb txawm sim siv qee qhov kev tswj hwm kev teeb tsa hauv Cobbler. Tab sis dhau sijhawm, qhov no pib tsim teeb meem nrog kev hloov pauv kev teeb tsa mus rau lwm lub chaw khaws ntaub ntawv thiab rau Ansible code rau VM provisioning.

Lub sijhawm ntawd, ntau tus ntawm peb pom Ansible ua qhov yooj yim Bash extension, thiab nws tau xa tawm nrog lub plhaub thiab sed constructs. Yeej, nws yog Bashable. Qhov no txhais tau tias yog tias ib qho playbook tsis ua haujlwm ntawm lub server rau txhua qhov laj thawj, nws yooj yim dua los rho tawm lub server, kho qhov playbook, thiab sim dua. Yeej tsis muaj script versioning, thiab tsis muaj configuration portability.

Piv txwv li, peb xav hloov qee qhov kev teeb tsa ntawm txhua lub servers:

  1. Peb hloov qhov kev teeb tsa ntawm cov servers uas twb muaj lawm hauv ib qho logical segment/data center. Qee zaum qhov no tsis tshwm sim ib hmos - qhov yuav tsum muaj thiab txoj cai ntawm cov lej loj tiv thaiv peb los ntawm kev siv txhua qhov kev hloov pauv ib zaug. Thiab qee qhov kev hloov pauv yuav cuam tshuam thiab yuav tsum tau rov pib dua txhua yam los ntawm cov kev pabcuam mus rau OS nws tus kheej.
  2. Kho nws hauv Ansible
  3. Kho nws hauv Cobbler
  4. Rov ua dua N zaug rau txhua ntu kev xav / chaw khaws ntaub ntawv

Yuav kom txhua qhov kev hloov pauv mus tau zoo, yuav tsum tau coj los xav txog ntau yam, thiab kev hloov pauv yeej ib txwm muaj tas li.

  • Rov kho dua Ansible code thiab cov ntaub ntawv teeb tsa
  • Kev hloov pauv cov kev coj ua zoo tshaj plaws sab hauv
  • Cov kev hloov pauv raws li cov txiaj ntsig ntawm kev tshuaj xyuas qhov xwm txheej/kev sib tsoo
  • Kev hloov pauv ntawm cov qauv kev ruaj ntseg, ob qho tib si sab hauv thiab sab nraud. Piv txwv li, PCI DSS raug hloov kho nrog cov kev cai tshiab txhua xyoo.

Kev loj hlob ntawm cov khoom siv hauv paus thiab qhov pib ntawm txoj kev taug kev

Tus naj npawb ntawm cov servers / logical domains / data centers tau loj hlob tuaj, thiab nrog lawv, tus naj npawb ntawm cov yuam kev teeb tsa. Muaj qee lub sijhawm, peb tau los txog rau peb qhov chaw uas kev tswj hwm kev teeb tsa yuav tsum tau tsim:

  1. Kev siv tshuab tsis siv neeg. Yuav tsum zam kom tsis txhob muaj tib neeg ua haujlwm rov ua dua ntau li ntau tau.
  2. Kev rov ua dua. Kev tswj hwm cov khoom siv yooj yim dua thaum nws kwv yees tau. Cov kev teeb tsa server thiab cov cuab yeej npaj yuav tsum zoo ib yam txhua qhov chaw. Qhov no tseem ceeb rau cov pab pawg khoom - tom qab sim, ib daim ntawv thov yuav tsum tau lees tias yuav raug xa mus rau qhov chaw tsim khoom uas tau teeb tsa zoo ib yam li qhov chaw sim.
  3. Kev yooj yim thiab pob tshab ntawm kev hloov pauv hauv kev tswj hwm kev teeb tsa.

Tseem muaj ob peb yam cuab yeej ntxiv.

Peb tau xaiv GitLab CE ua peb lub chaw khaws cov lej, tsis yog vim nws cov CI / CD modules uas tau tsim ua ke.

Kev khaws cia zais cia - Hashicorp Vault, tshwj xeeb tshaj yog rau nws qhov API zoo heev.

Kev teeb tsa kev sim thiab lub luag haujlwm Ansible - Molecule + Testinfra. Kev sim khiav ceev dua thaum txuas nrog Ansible Mitogen. Tib lub sijhawm, peb pib sau peb tus kheej CMDB thiab orchestrator rau kev xa tawm tsis siv neeg (duab saum toj no Cobbler), tab sis qhov ntawd yog lwm zaj dab neeg, uas kuv tus npoj yaig thiab tus thawj coj tsim cov kab ke no yuav tham txog yav tom ntej.

Peb qhov kev xaiv:

Molecule + Testinfra
Ansible + Tower + AWX
Ntiaj Teb Server + DITNET (Kev Tsim Kho Hauv Tsev)
Cob Tsib
Gitlab + GitLab khiav
Hashicorp Vault

Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Hais txog Ansible lub luag haujlwm, thaum xub thawj tsuas muaj ib qho xwb, tab sis tom qab ntau qhov kev kho dua tshiab, tam sim no muaj 17. Kuv xav kom tawg lub monolith mus rau hauv lub luag haujlwm idempotent uas tuaj yeem tso tawm sib cais, nrog rau cov cim npe xaiv tau. Peb faib cov luag haujlwm los ntawm kev ua haujlwm: network, logging, pob khoom, kho vajtse, molecule, thiab lwm yam. Feem ntau, peb tau ua raws li txoj kev npaj hauv qab no. Kuv tsis tau hais tias qhov no yog tib qho kev daws teeb meem tiag tiag, tab sis nws ua haujlwm rau peb.

  • Luam cov servers los ntawm "duab kub" yog qhov phem!Qhov tsis zoo tshaj plaws yog tias koj tsis paub meej tias cov duab nyob rau hauv lub xeev twg tam sim no, thiab tias txhua qhov kev hloov pauv yuav pom tseeb hauv txhua daim duab ntawm txhua lub teb virtualization.
  • Siv cov ntaub ntawv teeb tsa uas twb muaj lawm kom tsawg kawg nkaus thiab pom zoo nrog lwm lub chaw haujlwm tias koj yog tus saib xyuas cov ntaub ntawv tseem ceeb ntawm lub kaw lus., piv txwv:
    1. Tso /etc/sysctl.conf khoob; cov chaw teeb tsa yuav tsum tsuas yog nyob rau hauv /etc/sysctl.d/. Koj lub neej ntawd mus rau hauv ib daim ntawv, thiab koj cov chaw teeb tsa tshwj xeeb rau daim ntawv thov mus rau lwm qhov.
    2. Siv cov ntaub ntawv override los hloov kho cov chav systemd.
  • Ua qauv rau txhua qhov kev teeb tsa thiab suav nrog lawv tag nrho; yog tias ua tau, tsis txhob siv sed lossis nws qhov sib npaug hauv cov phau ntawv ua si.
  • Rov kho dua qhov kev teeb tsa tswj hwm qhov system code:
    1. Rhuav cov haujlwm ua cov khoom muaj logical thiab rov sau dua cov monolith ua lub luag haujlwm
    2. Siv cov linters! Ansible-lint, yaml-lint, thiab lwm yam.
    3. Hloov koj txoj kev! Tsis muaj kev thuam ntxiv lawm. Koj yuav tsum piav qhia txog lub xeev ntawm lub kaw lus.
  • Rau txhua lub luag haujlwm Ansible, koj yuav tsum sau cov kev xeem hauv molecule thiab tsim cov ntawv qhia ib zaug ib hnub.
  • Hauv peb qhov teeb meem, tom qab npaj cov kev sim (uas muaj ntau dua 100), peb pom txog 70000 qhov yuam kev. Peb siv sijhawm ob peb lub hlis los kho lawv.Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Peb txoj kev siv

Yog li, cov luag haujlwm Ansible tau npaj txhij, templated, thiab kuaj xyuas nrog linters. Txawm tias Git tau qhib txhua qhov chaw. Tab sis lo lus nug ntawm kev xa cov lej mus rau ntau ntu sib txawv tseem qhib. Peb txiav txim siab los sib dhos siv cov ntawv sau. Nws zoo li no:

Txij li thaum pib ua lag luam mus txog rau ntau txhiab tus neeg rau zaub mov hauv ntau lub chaw khaws ntaub ntawv. Peb tau nrhiav kev loj hlob li cas. Linux infrastructure

Thaum muaj kev hloov pauv tuaj txog, CI raug tso tawm, lub server kuaj raug tsim, lub luag haujlwm raug xa mus, thiab kev sim molecule raug ua. Yog tias txhua yam zoo, cov lej raug thawb mus rau ceg tsim khoom. Txawm li cas los xij, peb tsis siv cov lej tshiab rau cov servers uas twb muaj lawm. Qhov no yog ib hom kev txwv, uas yog qhov tseem ceeb rau kev muaj ntau ntawm peb cov kab ke. Thiab thaum cov khoom siv loj hlob tuaj, txoj cai ntawm cov lej loj kuj tuaj yeem ua si: txawm tias koj paub tseeb tias qhov kev hloov pauv tsis muaj teeb meem, nws tuaj yeem muaj cov txiaj ntsig phem.

Kuj tseem muaj ntau txoj kev xaiv rau kev tsim cov servers. Thaum kawg peb tau xaiv cov ntawv sau Python. Thiab rau CI, peb siv 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}}"

Qhov no yog qhov uas peb tau tuaj txog, lub kaw lus tseem niaj hnub nyob thiab txhim kho.

  • 17 Lub luag haujlwm uas teb tau rau kev teeb tsa server. Txhua lub luag haujlwm yog tsim los ua ib txoj haujlwm tshwj xeeb (kev sau ntawv, kev tshuaj xyuas, kev tso cai rau tus neeg siv, kev saib xyuas, thiab lwm yam).
  • Kev sim lub luag haujlwm. Molecule + TestInfra.
  • Kev tsim kho hauv tsev: CMDB + Orchestrator.
  • Lub sijhawm tsim lub server yog ~ 30 feeb, ua haujlwm tsis siv neeg thiab tsis cuam tshuam nrog kab ua haujlwm.
  • Tib lub xeev / lub npe ntawm cov khoom siv hauv txhua ntu - cov phau ntawv ua si, cov chaw khaws khoom, cov ntsiab lus virtualization.
  • Kev kuaj xyuas cov xwm txheej ntawm lub server txhua hnub nrog kev tsim cov ntawv qhia txog qhov tsis sib xws nrog tus qauv.

Vam tias kuv zaj dab neeg yuav pab tau rau cov neeg uas nyuam qhuav pib ua haujlwm. Koj siv cov txheej txheem automation twg?

Tau qhov twg los: www.hab.com

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster