Pilv ja kaablid: kuidas panna virtuaalne ja füüsiline võrk koos kiirelt tööle?

Jüri Reitsakas

Tehnoloogiajuht / OIXIO IT AS nõukogu liige

Andmekeskustes toimivad praegu enamasti koos virtuaalsed ja füüsilised võrgud, mis peavad hakkama saama harmooniliselt, et tagada tõhus andmeliiklus, turvalisus ja kättesaadavus. Samas on erinevad võrgukihid erinevate tootjate tarkvaralahendustega ning võrke lisades peaks selle haldaja läbi käima kõik need kasutajaliidesed, mida mõnikord on isegi 4-5 tükki, et süsteem tööle saada. Kas saaks ka kuidagi lihtsamalt? Muidugi saab.

Andmekeskuste südames on tuumikvõrk, mis ühendab erinevaid andmekeskusi, luues aluse virtuaalsete ja füüsiliste võrkude ühendamiseks.

Selleks, et mõista, kuidas need kihid koostööd teevad, tuleb alustada virtualiseerimiskihist, mis lubab luua ja hallata virtuaalseid võrke ja teenuseid. Ühes moodsas andmekeskustes on virtualiseerimiskihis veel mitmeid alamkihte, mis kõik omavahel suhtlevad, et pakkuda paindlikkust ja turvalisust.

Siin aga tekibki halduse suurim keerukus: iga kiht võib olla ettevõtte erineva osakonna vastutusalas.

Näiteks kui tulemüüride kiht kuulub turvaosakonna alla, tuumikvõrgu switchid võrguosakonnale ja ülemised virtuaalvõrgu kihid andmekeskuste tiimidele, siis algab uue virtuaalvõrgu loomisega pikk tegevuste jada: see nõuab kõigi osapoolte – ja tihtipeale erinevate haldusplatvormide – head koostööd.

Siin tulevad appi automatiseerimise vahendid, mida põhimõtteliselt võib jagada kolmeks. Igaüks neist aitab ära teha seadistamise ühe korraga, kasutades sobivaid tööriistu kõigi virtualiseerimise kihtide sättimiseks ühest kohast. Pole tähtis, mis haldustarkvara ühel või teisel tootjal on, nende vahenditega saab kasvõi tuhandeid servereid korraga seadistada ja uusi võrke luua ühest kohast. Tuleb vaid osata natuke skripte kasutada.

Ansible – täielik automaatika

Ansible aitab luua ja hallata konfiguratsioone läbi REST APIde. See arendajata töövahend lubab kasutada YAML-keelel põhinevaid “playbooke”, et massiliselt hallata ja seadistada erinevaid süsteeme ilma, et peaks igasse serverisse eraldi sisse logima.

Selle lähenemisega saab luua ja hallata virtuaalvõrke kõigis kihtides samaaegselt, vähendades vajadust käsitsi sekkumise järele.

Ansible on avatud lähtekoodiga automatiseerimistarkvara, mida saab kasutada virtuaalsete võrkude ja muude IT-infrastruktuuri komponentide seadistamiseks ja haldamiseks. See pakub lihtsat ja programmeerimisvaba lähenemist automatiseerimisele, mis teeb vahendi populaarseks valikuks süsteemiadministraatorite ja DevOps-i meeskondade seas.

Ansible´i hea omadus on veel selles, et lahendus vaja hallatavatele serveritele eraldi agentide installimist. See ühendub serveritega SSH-protokolli abil, mis teeb kasutuselevõtu väga lihtsaks ja kiireks.

Ansible´i konfiguratsioonifailid on kirjutatud YAML-keeles, mis on inimloetav ja lihtne selgeks õppida, umbes nagu HTML või XML. Samas suudab see selge töövahend automatiseerida päris keerulisi tööülesandeid, sealhulgas virtuaalsete masinate loomist ja võrgu seadistamist.

Siin on üks lihtne näide virtuaalse võrgu seadistamisest Ansible’iga:

– name: EXOS Create VLAN with RESCONFIG
  hosts: localhost
  vars_files:
– cred.yml
– config.yml
  vars:
request_token_json:
   username : “{{ tor01.user }}”
   password : “{{ tor01.pass }}”
create_vlan_json:
   “openconfig-vlan:vlan”:
       – config:
           name: “{{ vlan.name }}”
           vlan-id: “{{ vlan.id }}”
           status: ACTIVE
           tpid: “oc-vlan-types:TPID_0x8100”
token:
  tasks:
– name: Request Token
   uri:
       url: https://{{ tor01.host }}/auth/token
       method: POST
       headers:
         Content-Type: ‘application/json’
       body_format: json
       body: “{{ request_token_json }}”
       validate_certs: false
       status_code:
         – 200
       return_content: yes
   register: resp
   when: true
– set_fact:
     exos_token: “{{resp.json.token}}”
   when: true
– name: Create VLAN
   uri:
       url: https://{{ tor01.host }}/rest/restconf/data/openconfig-vlan:vlans/
       method: POST
       headers:
         Content-Type: “application/json”
         Cookie: “x-auth-token={{exos_token}}”
       body_format: json
       body: “{{ create_vlan_json }}”
       validate_certs: false
       status_code:
         – 200
         – 201
         – 204
       return_content: yes
   register: resp
   when: true

See näitena toodud Playbook autoriseerib Extreme Networks EXOS switches, mille määrab muutuja “tor01.host” administraatori nimega “tor.user” ja parooliga “tor01.pass” ning loob virtuaalse võrgu nimega “vlan.name” ja virtuaalvõrgu IDga “vlan.id”.

Konfiguratsioonifaili üks esimestest ülesannetest saadab seadmele ka kasutajanime ja parooli. Kui need on õiged, siis vastu saadekse token, millega saab edaspidi hakata seadet konfigureerima, ilma et peaks uuesti kasutajana sisse logima hakkama.

Nii saab näiteks ühe skriptiga teha seadistused ära mitmes võrgukihis, millel muidu on mitme erineva tootja haldustarkvarad: Fortigate´i tulemüürides, Extreme Networksi Switchides ja VMware´i virtuaalvõrkudes.

Kui nende kolme tootja jaoks on kirjutatud kolm Playbooki, mis vajalikud seadistused ära teeb, siis võib need lisada ka ühte ühisesse Playbooki, mis need kolm käivitab ja edasi toimib virtuaalvõrku luues kõik automaatselt.

VMware ARIA Suite – automatiseeri kõik

Automation on üks suit komponent ja see on automatiseerimise orkestratoor millega saab automatiseerida kõike VMware ja ka kõike muud millel on olemas API
Kolmas oluline lahendus oma töö automatiseerimiseks virtuaalvõrkude seadistamisel on VMware ARIA Suite, täpsemini üks selle osa VMware Aria Automation. See on automatiseerimise orkestratoor, millega saab automatiseerida kõike nii VMware´i toodetes kui ka kõike muud, millel on olemas vastav API.

See tööriist lubab lihtsasti automatiseerida komponentide seadistamist, pakkudes graafilist keskkonda töövoogude loomiseks. Seega pole vaja ei YAML-i ega Pythonit, milles kirjutatakse tavaliselt skriptid kolmanda osapoolte liidestamiseks. Lisaks Pythonile kasutatakse ka JavaScripti või Powershelli. Kuid VMware Aria Automationiga saab veelgi lihtsamalt vaid kaste ekraanil sobivasse kohta vedades ning ühendades. Nii on palju kergem virtuaalseid võrke luua ja hallata.

Graafiliselt saab niimoodi näiteks joonistada skeemina valmis keerukaid ja tingimuslikke süsteeme, mis toetavad ka Xtreme Networksi ja Fortigate´i elemente. Plokkide seest leiab aga lõpuks sellesama Pythoni koodi, mida on lihtsalt visuaalselt mugavam seadistada.

Skript võib küsida ka vajalikke parameetreid, mida tuleb käsitsi sisestada, kuid mida ei pea nüüd enam eraldi 3-4 alamsüsteemis sisse lööma, sest need võib ette anda ühes kohas.

Klient soovib, edasi käib kõik peaaegu automaatselt

On olemas ka süsteemid, mis aitavad kliente teenindada piletite ehk Ticketitega, registreerides nende soovi ja edastades administraatoritele. Selline teenus nagu ServiceNow näiteks lubab juhul, kui ettevõte seda kasutab, sisse programmeerida, et kui klient annab tööülesande virtuaalvõrk teah, käivitub automaatne tegevuste jada.

Kui kliendi tööülesande piletis on ära kirjeldatud, mida vaja teha, siis inimene peab sekkuma minimaalselt. See on juba organisatsiooni enda küsimus, kui kaugele võib automaatikaga minna.

Kas võib siis ka automaatselt ka tulemüüri seadeid muutma hakata? Iga asutus peab seda ise otsustama, kuid enne võib olla mõistlik läbida inimese antud kinnitus. See aga pole enam kuigi keeruline, tulemüüri seadistaja peab lihtsalt kinnitusnupule vajutama, midagi muud seadistama hakata polegi enam vaja, kui turvalisusega kõik korras.

Automatiseerimine tähendab seega, et insenerid ei pea tegema rutiinset tööd, piisab vaid kinnitusnupu vajutamisest.

Kokkuvõtteks: rutiini vähemaks, las automaatika teeb tööd!

Automatiseerimisvahendid nagu Ansible, aga ka visuaalsed platvormid nagu VMware ARIA Suite Automation Orchestration, lubavad kokkuvõttes luua päris keerukaid võrgu infrastruktuure, mis on ühtlasi hõlpsasti skriptidega hallatavad.

Need lahendused aitavad erinevatel osakondadel ja meeskondadel, kes muidu võrgu erinevaid osasid eraldi haldasid, teha tõhusat koostööd, ületades traditsioonilisi piire, mis on seotud erinevate tehnoloogiate ja haldusvahenditega ning see tõstab oluliselt nende töö efektiivsust. Tänu REST API-le, programmeerimisliidestele ja graafilistele vahenditele saavad administraatorid ja arendajad luua ühtseid skripte ja töövooge, mis automatiseerivad võrguseadmete ja virtuaalsete masinate konfiguratsiooni ning haldust.

Selline integreeritud lähenemine mitte ainult ei lihtsusta virtuaalvõrkude loomist ja haldamist, vaid tagab ka kõrgema taseme turvalisuse, tagades samal ajal ka kiirema reageerimise äri muutuvatele vajadustele.

Kuidas sellega alustada ja mismoodi oma võrguhaldust automatiseerida, seda küsi OIXIO IT spetsialistidelt!

Priit Maasik

Linkedin

Võrgu ärisuuna juht

Kuidas saame Sulle abiks olla? (OIXIO IT)

Võta ühendust, kui soovid suhelda eksperdiga.

* tähistatud väljad on kohustuslikud

Nimi*
Kirjutage meile, kui teil on küsimus või soovite suhelda eksperdiga.
This field is for validation purposes and should be left unchanged.