Vezměme si jednoduchý scénář, máte 10 redhat serverů, kde musíte na všech serverech vytvořit uživatele „tecmint“. Přímý přístup je, že se musíte přihlásit ke každému serveru a vytvořit uživatele pomocí příkazu useradd. Když jsou servery 100s nebo 1000s, přihlášení na všechny servery jeden po druhém prakticky není možné.
První věc, která nás v takových případech napadne, je napsat skript a nechat skript provést spuštění na serverech, to je osvědčený přístup. Skriptování má své nevýhody, ačkoli je v organizacích široce používáno, je obtížné jej udržovat, pokud vlastník skriptu opustí organizaci.
Skript nebude fungovat v heterogenním prostředí. Skript je imperativní metoda ke splnění úkolu, kde potřebujete napsat dlouhý kód pro jednoduchý úkol atd., tato situace vyžaduje, abychom hledali Správu automatizace a konfigurace nástroje, jako je kuchař .
V této sérii článků o Šéfkuchaři , podíváme se na postupy instalace a konfigurace nástroje Chef Automation v částech 1-3 a pokryjeme následující témata.
Část 1 :Co je automatizace a správa konfigurace s CHEF Část 2 :Jak nainstalovat pracovní stanici CHEF v RHEL/CentOS 8/7 Část 3 :Jak nainstalovat model CHEF klient-server v RHEL/CentOS 8/7Tento tutoriál poskytuje výchozí bod o tom, jak šéf práce, automatizace, správa konfigurace, architektura a komponenty Chef.
1. Správa konfigurace
Správa konfigurace je klíčovým bodem zájmu DevOps praxe. V cyklu vývoje softwaru by měly být všechny servery softwarově nakonfigurovány a udržovány tak, aby nedošlo k přerušení vývojového cyklu. Špatná konfigurace Správa může způsobit výpadky systému, úniky a úniky dat. Pomocí Správy konfigurace nástrojů je o usnadnění přesnosti, efektivity a rychlosti v prostředí řízeném DevOps.
Existují dva modely nástrojů pro správu konfigurace – založené na PUSH &Na základě PULL . V založeném na PUSH , hlavní server odešle konfigurační kód na servery, na kterých je založeno na PULL jednotlivé servery kontaktují Master pro získání konfiguračního kódu. LOUTKA a CHEF jsou široce používané modely založené na PULL, ANSIBLE je oblíbený model založený na PUSH. V tomto článku se podíváme na CHEF .
2. Co je to šéfkuchař?
kuchař je open source automatizační program, který umožňuje systémovým administrátorům automatizovat nasazení, konfigurace, správu a průběžné úlohy na řadě serverů a dalších zařízení v organizaci jednoduchým a snadným způsobem.
- Je založena v roce 2008 jako OPSCODE později se přejmenuje na CHEF (Automatizace šéfkuchaře nástroj).
- Je to automatizační nástroj založený na Ruby, který se používá ke správě konfigurace, automatizaci a organizování celé infrastruktury organizace.
- Je to projekt s otevřeným zdrojovým kódem a přichází se dvěma modely nasazení:Serverový klient a Samostatný.
- Chef podporuje různé operační systémy jako Ubuntu, Redhat/CentOS, Fedora, macOS, Windows, AIX atd.
- Šéfkuchař je deklarativní a je mnohem jednodušší než nativní skriptovací jazyky.
- Poskytuje nepřetržité zavádění, které umožňuje společnosti průběžně aktualizovat požadavky trhu.
- Hlavní odpovědností šéfkuchaře je udržování definovaného stavu konfigurace.
- Má svůj vlastní deklarativní jazyk pro snadnou správu 10 a 1000 uzlů.
- Šéfkuchař je adaptabilní na cloud, snadno se integruje s Infrastructure on Cloud.
- Šéfkuchař se snadno učí a je to silný komunitou podporovaný nástroj pro DevOps.
3. Chef Architecture
Šéfkuchař architektura je rozdělena do 3 hlavních sekcí.
- Chef WorkStation :Místní vývojová platforma pro uživatele Chef k vytváření, testování a používání konfigurací. Může to být váš místní stolní počítač, notebook s nainstalovaným Chef DK (Development Kit). Může být použit jako vývojové/testovací prostředí před povýšením do produkce.
- Server šéfkuchaře :Je to server, na kterém je nainstalovaný a nakonfigurovaný software chef-server. Zodpovídá za správu kódu šéfkuchaře a přístup ke konfiguračnímu kódu z pracovní stanice Chef. Server šéfkuchaře by měl být počítač se systémem Linux, nebude podporovat žádný jiný operační systém.
- Klienti šéfkuchaře :Existují servery, které kontaktují server Chef pro podrobnosti o konfiguraci, jako je kód šéfkuchaře a další závislé soubory v binárních souborech. Stáhne kód ze serveru Chef a nasadí je lokálně.
4. Komponenty šéfkuchaře
Níže jsou uvedeny klíčové Šéfkuchař komponenty.
- Zdroje jsou základním modulem Recipe používaným ke správě Infrastruktury.
- Atribut je nastavení ve formě páru klíč–hodnota.
- Recepty jsou kolekce atributů, které lze vytvořit na pracovní stanici. Je to sada příkazů, které lze použít na klienty šéfkuchaře jako kód šéfkuchaře.
- Sbírka receptů se nazývá kuchařka .
- Nůž je nástroj příkazového řádku v Chef Workstation, který spolupracuje se serverem Chef Server.
5. Model nasazení šéfkuchaře
Pro Chef existují dva modely nasazení .
- Serverový klient – Používá se pro produkční nasazení.
- Šéfkuchař Zero – Používá se pro vývoj, testování a POC.
6. Jak šéfkuchař pracuje? Infrastruktura jako kód
Infrastructure as Code je správa IT infrastruktury, kde nám umožňuje automaticky provádět různé instalace/nasazení a správu konfigurace. Zde jsou všechny konfigurace, instalace zapsány jako kód.
- Klient/uzel Chef provede registraci a ověření se serverem Chef.
- Klient/uzel šéfkuchaře bude pravidelně nahlížet do serveru šéfkuchaře. Proces ověřování se provádí pokaždé, když chce kuchař-klient získat přístup k datům uloženým na serveru šéfkuchaře.
- Ohai je nástroj, který bude spuštěn klientem Chef k určení stavu systému, bude detekovat atributy (OS, paměť, disk, CPU, jádro atd.) uzlu a poskytne tyto atributy klientovi kuchaře. Ohai je součástí instalace Chef Client.
- Pokud dojde k jakýmkoli změnám v nastavení kuchařky nebo konfigurace, bude odeslána klientovi šéfkuchaře a bude aktualizována/instalována.
- Kuchařské knihy a nastavení budou aktualizovány na serveru Chef pomocí Chef Workstation pomocí nástroje příkazového řádku Knife . Pracovní stanice posílá všechny zásady na server Chef pomocí Knife.
- Vzhledem k tomu, že každý klient/uzel bude mít pravidelnou kontrolu se serverem Chef, budou konfigurace použity individuálně podle role serveru. Například:V uzlech Chef Nodes budou některé uzly databázovými servery, některé uzly budou servery brány atd.
Závěr
V tomto článku jsme viděli základní koncepty Configuration Management a Chef automatizační nástroj. Proces instalace Chef krok za krokem uvidíme v nadcházejících článcích.