Možné zabezpečenie: Inteligentnejší a ľahší spôsob zabezpečenia



Tento blog Ansible Provisioning poukazuje na jednu z najužitočnejších funkcií Ansible. Ukazuje, ako nastaviť zásobník LAMP a hostiť wensite v Ubuntu.

Prvým krokom v automatizácii ľubovoľného prevádzkového životného cyklu aplikácie je automatizácia zabezpečenia infraštruktúry. Poskytovanie je nepríjemný proces nastavovania konfigurácií, prideľovania pamäte, miesta na disku atď. Pred ich skutočným použitím. Pozrime sa, ako to možné zabezpečenie umožňuje, aby to bolo jednoduchšie a rýchlejšie.

Väčšina rozsiahlych nasadení vyžaduje, aby ste mali rovnaké nastavenie prostredia na viacerých systémoch.Ako na to? Vykonať rovnakú sadu príkazov na stovke systémov ručne ?? Nahh .. To je príliš stará škola. V tomto sú dobré stroje, nie ľudia. Čo keby som vám povedal, že tento dlhý a nudný proces by sa dal uskutočniť vykonaním jedinej príručky hry Ansible?O tom si povieme v tomto blogu - Ansible Provisioning.





Zahrnuté témy sú:

Ak chcete ovládať DevOps, ' kurz by mal byť vašou voľbou.



Čo je možné?

DevOps je kultúra, v ktorej má automatizácia skutočne vysokú prioritu. Keď môžu existovať nástroje na automatizáciu nasadenia a procesu testovania, prečo by ste nemali mať nástroje na správu a zabezpečenie konfigurácie. Existuje milión spôsobov, ako byť inteligentnejší a používanie Ansible je jedným z nich. Je to jeden z najbežnejšie používaných nástrojov.

Aplikácia Ansible používa príručky založené na YAML, ktorým dokonca môže porozumieť začiatočník. Na komunikáciu so svojimi klientmi používa architektúru bez agentov, ktorá nezahŕňa žiadny nástroj tretej strany, ktorý by bol nainštalovaný na klientskom počítači, a namiesto toho používa pripojenia založené na SSH. Keďže je to automatizačný nástroj, poďme zistiť, čo môže automatizovať.

Čo môže Ansible automatizovať?

Pomenujte fázu vývojového cyklu a Ansible vám s ňou pomôže, či už je to správa konfigurácie, zabezpečenie, orchestrácia, nepretržité doručovanie, zabezpečenie alebo dokonca nasadenie aplikácií. Ansible spája pracovný tok vývojového cyklu do automatizovanej platformy bez agenta bez jediného agenta.



  1. Tvorba rezerv: Je nevyhnutné vytvoriť vhodné prostredie pre život aplikácie / softvéru. Ansible poskytuje spôsob automatizácie prostredia vytvoreného pre existenciu aplikácie.
  2. Správa konfigurácie: Vykonajte širokú škálu konfiguračných úloh, ako sú služby štart / stop, zmena konfigurácie systému, zariadenia alebo aplikácie atď.
  3. Nasadenie aplikácie: Automatizujte definíciu nasadenia pomocou Ansible a spravujte nasadenie pomocou Možná veža . Vďaka tomu je celý aplikačný cyklus od výroby po nasadenie efektívny a spravovateľný.
  4. Nepretržité dodanie: Vytváranie a správa potrubia nepretržitej integrácie / nepretržitého doručovania môže byť nepríjemné. To je miesto, kde Ansible zasahuje a uľahčuje vývojárom život.
  5. Bezpečnosť a dodržiavanie predpisov: Práca s projektmi vždy určuje hranice a je integrovaná do bezpečnostných politík spoločnosti. Automatická integrácia bezpečnostných politík do nasadenia môže uľahčiť dodržiavanie týchto zásad.
  6. Orchestrácia: Celý projekt je súborom mnohých rôznych inštancií, ktoré majú inú konfiguráciu. Ansible zlúči a spravuje tieto rôzne inštancie ako celok.

Potreba možného zabezpečenia

Ako už bolo spomenuté, prvý krok kautomatizácia prevádzkového životného cyklu aplikáciípripravuje prostredie, t. j. zabezpečenie. Veľké nasadenia si vyžadujú viac hostiteľov, ktorí majú úplne rovnakú konfiguráciu. Po zaistení jedného hostiteľa, aké sú šance, že ďalších 10 hostiteľov bude mať presne tie isté konfigurácie, ak sa vykonajú ručne? Tiež koľko času strávite vykonávaním rovnakej opakujúcej sa úlohy? To je miesto, kde Ansible prichádza k našim službám. Môžete zabezpečiť stovky hostiteľov iba vykonaním jednej príručky. Mágia? Haha! Nie, iba vývoj v automatizácii.

Ukážka: Vytvorte zásobník žiarovky a umiestnite webovú stránku

Predpokladajme, že sa snažíte nasadiť web na 30 systémoch. Každé nasadenie webu bude vyžadovať základný OS, webový server, databázu a PHP. Na inštaláciu týchto predpokladov na všetkých 30 systémoch naraz používame ansible playbook.

V tejto ukážke poskytovania možnosti Ansible vám ukážem, ako zabezpečiť prostredie hostenia webových stránok pomocou služby Ansible. Nainštalujeme zásobník LAMP (Linux, Apache, MySQL a PHP) a potom nasadíme webovú stránku.

Pre túto ukážku som použil Linux VirtualBox s Ubuntu verzie 17.04. Použil som dva virtuálne stroje, jeden ako môj server, kde je nainštalovaný program Ansible, a druhý stroj funguje ako môj vzdialený hostiteľ. Začnime nastavením Ansible na serveri.

Vytvoril som jednoduchú statickú webovú stránku uloženú v priečinku index ktorý má dva súbory, index.html a style.css.

index.html:

  Webové stránky využívajúce HTML a CSS                Prijať teraz        

štýl.css

* { rozpätie: 0 výplň: 0 } hlavička { background-image: linear-gradient (rgba (0,0,0,0,5), rgba (0,0,0,0,5)), url ('puppie.jpg') výška: 100vh veľkosť pozadia: obal Pozícia na pozadí: stred } .nav-menu { plavák: správne štýl zoznamu: žiadny horný okraj: 30 pixelov } .nav-menu li { displej: vložený blok } .nav-menu li a { farba: tyrkysová dekorácia textu: žiadny výplň: 5px 20px rodina fontov: 'Verdana', 'sans-serif' veľkosť písma: 20px } .homebtn a { okraj: 1px plná šedá farba pozadia: biela } .nav-menu li a: hover { okraj: 1px plná šedá farba pozadia: biela } .tagline { pozícia: absolútna šírka: 1 200 pixelov okraj zľava: 0 horný okraj: 0 } h1 { farba: biela veľkosť písma: 50px rodina fontov: 'Verdana', 'sans-serif' zarovnanie textu: na stred horný okraj: 275 pixelov } .adopt { horný okraj: 30 pixelov okraj vľavo: 540 pixelov } .bttn { okraj: 1px biela výplň: 10px 30px farba: žltá rodina fontov: 'Verdana', 'sans-serif' veľkosť písma: 22px dekorácia textu: žiadny } .adopt a: hover { farba pozadia: burlywood }

Krok 1: Vykonaním nasledujúcich príkazov aktualizujete úložiská, pridáte požadované úložiská a nakonfigurujete PPA na vašom počítači pre možnú inštaláciu:

$ sudo apt-get update $ sudo apt-get nainštalovať softvér-vlastnosti-spoločné $ sudo apt-add-repository ppa: ansible / ansible

Stlačením klávesu Enter prijmite pridanie PPA a potom po aktualizácii úložísk konečne nainštalujte Ansible.

$ sudo apt-get aktualizácia $ sudo apt-get inštalácia zodpovedná

Krok 2: Prejdite do súboru / etc / hosts na vašom serveri a pridajte názov hostiteľa a adresu IP hostiteľa.

atď hostitelia - možné zabezpečenie - EdurekaObrázok 1 - Pridanie vzdialených hostiteľov do súboru / etc / hosts - možné zabezpečenie

stl sort c ++

Krok 3: Pretože Ansible pracuje na architektúre bez agentov, ktorá používa SSH na komunikáciu s hostiteľmi, nastavte ssh kľúče. V zásade máme jeden server a jedného hostiteľa. Hostiteľa kontrolujeme pomocou nášho servera, a preto na serveri vytvoríme verejný kľúč ssh a skopírujeme ho do hostiteľského počítača. Na serveri vykonajte nasledujúci príkaz:

$ ssh-keygen

Zobrazí sa výzva na zadanie názvu súborukde jaradi by ste si uložili kľúč a tiež vás požiadali o vytvorenie hesla pre prístup k vygenerovanému kľúču, ktoré je voliteľné. Verejný kľúč sa predvolene ukladá do súboru .ssh / id_rsa.pub a súkromný kľúč sa ukladá do súboru .ssh / id_rsa.

Obrázok 2 - Vytvorenie kľúča ssh - možné zabezpečenie

Tento vygenerovaný kľúč musí byť teraz prítomný vo vašom hostiteľovi. Kopírovanie kľúča do hostiteľa je možné vykonať dvoma spôsobmi, a to buď manuálnym kopírovaním do hostiteľa, alebo použitím príkazu ssh-copy-id. V takom prípade to skopírujem pomocou príkazu ssh-copy-id root @ IP_of_host.

$ ssh-copy-id root@192.168.56.104

Poznámka - Pred vykonaním tohto príkazu sa uistite, že máte možnosť ssh do hostiteľa.

Krok 4: Nakonfigurujte možných hostiteľov. Prejdite do súboru / etc / ansible / hosts a pridajte názov hostiteľa. To sa bude líšiť podľa počtu hostiteľov a serverov, ktoré máte. Môžete mať aj viac akojeden servertu.

Obrázok 3 - Pridanie vzdialených hostiteľov do súboru inventára - možné zabezpečenie

Krok 5: Skontrolujte, či sú vaši hostitelia pripravení. Vykonajte tento príkaz, mali by ste dostať podobný výstup.

$ ansible -m ping na všetky

Obrázok 4 - Skontrolujte stav vzdialeného hostiteľa - možné zabezpečenie

Krok 6: Teraz je náš Ansible pripravený, pripravme prostredie na nasadenie webových stránok. Na inštaláciu Apache, MySql a PHP použijeme jednu príručku Ansible. Poďme sa na to pozrieť.

Poznámka: Ak ste začiatočník, pozrite sa na toto blog, ktorý vysvetľuje, ako písať príručku.

--- # Setup LAMP Stack - hostitelia: host1 tasks: - name: Add ppa repository become: yes apt_repository: repo = ppa: ondrej / php - name: Install lamp stack become: yes apt: pkg: - apache2 - mysql-server - php7.0 - php7.0-mysql state: present update cache: yes - name: start apache server become: yes service: name: apache2 state: started enabled: yes - name: start mysql service become: yes services: name: stav mysql: spustené povolené: áno - meno: vytvoriť cieľový súbor adresára: cesta = / var / www / html stav = režim adresára = 0755 - názov: nasadiť index.html sa stalo: áno kópia: src: / etc / ansible / index / index.html cieľ: var / www / html / index / index.html

Tu, ako vidíte, máme 6 úloh, každá úloha plní určitú funkciu.

  • Prvá úloha pridáva úložisko potrebné na inštaláciu MySQL a PHP.
  • Druhá úloha inštaluje apache2, MySQL-server, PHP a PHP-MySQL.
  • Treťou a štvrtou úlohou sa spúšťajú služby Apache a MySQL.
  • Piata úloha vytvorí cieľový adresár v hostiteľskom počítači a
  • Nakoniec šiesta úloha vykoná súbor index.html, vyzdvihne ho zo servera a skopíruje do hostiteľa.

Túto príručku spustíte nasledujúcim príkazom:

$ ansible-playbook lamp.yml -K

Čiary stať sa: áno v príručke hovorí, že sa musí spustiť ako root, a preto pri spustení príkazu zobrazí výzvu na zadanie hesla sudo.

Obrázok 5 - Vykonať možnú príručku - možné zaistenie

Teraz môžete ísť do hostiteľského počítača a skontrolovať, či bola webová stránka hostená.

Obrázok 6 - Hostenie webových stránok na Localhost - možné zabezpečenie

Toto je webová stránka, ktorá by sa mohla nasadiť do všetkých hostiteľov, ktorí interagujú so serverom (v našom prípade sme mali iba jedného hostiteľa), ale to isté by bolo možné dokonca aj pre 100 vzdialených hostiteľov.

Týmto sa dostávame na koniec blogu Ansible Provisioning. Ak tento článok považuje za užitočný, pozrite si stránku ' ponúka Edureka. Zahŕňa všetky nástroje, vďaka ktorým je IT priemysel inteligentnejší.

Máte na nás otázku? Zverejnite to prosím a ozveme sa vám.