Prendiamo uno scenario semplice, hai 10 server redhat in cui devi creare un utente "tecmint" in tutti i server. L'approccio diretto è che è necessario accedere a ciascun server e creare l'utente con il comando useradd. Quando i server sono 100 o 1000, non è praticamente possibile accedere a tutti i server uno per uno.
Qui, la prima cosa che ci viene in mente in questi casi è scrivere uno script e lasciare che lo script esegua l'esecuzione sui server, è un approccio collaudato. Lo scripting ha i suoi svantaggi, sebbene sia ampiamente utilizzato nelle organizzazioni, è difficile da mantenere se il proprietario dello script lascia l'organizzazione.
Lo script non funzionerà in un ambiente eterogeneo. Lo script è un metodo imperativo per eseguire l'attività, in cui è necessario scrivere codice lungo per un'attività semplice ecc., Questa situazione ci richiede di cercare Automazione e gestione della configurazione strumenti come uno Chef .
In questa serie di articoli su Chef , vedremo le procedure di installazione e configurazione dello strumento Chef Automation attraverso le parti 1-3 e tratteremo i seguenti argomenti.
Parte 1 :Cos'è l'automazione e la gestione della configurazione con CHEF Parte 2 :Come installare CHEF Workstation in RHEL/CentOS 8/7 Parte 3 :Come installare il modello client-server CHEF in RHEL/CentOS 8/7Questo tutorial fornisce un punto di partenza su come Chef opere, automazione, gestione della configurazione, architettura e componenti di Chef.
1. Gestione della configurazione
Gestione della configurazione è il punto focale chiave di DevOps la pratica. Nel ciclo di sviluppo del software, tutti i server devono essere configurati tramite software e mantenuti correttamente in modo tale da non interrompere il ciclo di sviluppo. Una cattiva configurazione La gestione può causare interruzioni del sistema, perdite e violazioni dei dati. Utilizzo di Gestione configurazione tools mira a facilitare la precisione, l'efficienza e la velocità nell'ambiente basato su DevOps.
Esistono due modelli di strumenti di gestione della configurazione:basati su PUSH &basato su PULL . Nel basato su PUSH , il server Master invia il codice di configurazione ai server in cui basato su PULL i singoli server contattano il Master per ottenere il codice di configurazione. BURATTINO e CHEF sono ampiamente utilizzati modelli basati su PULL, ANSIBLE è un popolare modello basato su PUSH. In questo articolo vedremo di CHEF .
2. Che cos'è uno chef?
Uno chef è un programma di automazione open source che consente agli amministratori di sistema di automatizzare l'implementazione, le configurazioni, la gestione e le attività in corso su una serie di server e altri dispositivi di un'organizzazione in modo semplice e semplice.
- È stato istituito nel 2008 come OPSCODE successivamente viene rinominato CHEF (Automazione dello chef strumento).
- Si tratta di uno strumento di automazione basato su Ruby utilizzato per gestire la configurazione, automatizzare e orchestrare l'intera infrastruttura di un'organizzazione.
- Si tratta di un progetto Opensource e viene fornito con due modelli di distribuzione:Server Client e Standalone.
- Chef supporta vari sistemi operativi come Ubuntu, Redhat/CentOS, Fedora, macOS, Windows, AIX, ecc.
- Lo chef è dichiarativo ed è molto più semplice dei linguaggi di scripting nativi.
- Fornisce un'implementazione continua per consentire a un'azienda di tenersi aggiornata con i requisiti del mercato.
- La responsabilità primaria dello Chef è il mantenimento dello stato di configurazione definito.
- Ha un proprio linguaggio dichiarativo per gestire facilmente decine e migliaia di nodi.
- Lo chef è adattabile al cloud, si integra facilmente con Infrastructure on Cloud.
- Lo chef è facile da imparare ed è un potente strumento DevOps supportato dalla community.
3. Chef Architettura
Cuoco l'architettura è divisa in 3 sezioni principali.
- Chef WorkStation :piattaforma di sviluppo locale per gli utenti Chef per creare, testare e applicare configurazioni. Può essere il tuo desktop locale, laptop con Chef DK (kit di sviluppo) installato. Può essere utilizzato come ambiente di sviluppo/test prima di essere promosso in Produzione.
- Chef Server :È un server su cui è installato e configurato il software chef-server. È responsabile della gestione del codice Chef e dell'accesso al codice di configurazione da Chef Workstation. Il server chef dovrebbe essere una macchina Linux, non supporterà nessun altro sistema operativo.
- Clienti Chef :Ci sono i server che contattano il server Chef per i dettagli di configurazione come il codice chef e altri file dipendenti nei file binari. Estrae il codice dal server Chef e lo distribuisce localmente.
4. Componenti Chef
Di seguito sono riportati gli Chef chiave componenti.
- Risorse sono il modulo base di Ricetta utilizzato per gestire l'Infrastruttura.
- L'attributo è l'impostazione sotto forma di coppia chiave-valore.
- Ricette sono la raccolta di attributi che possono essere creati nella Workstation. È un insieme di comandi che possono essere applicati ai Clienti Chef come Codice Chef.
- La Raccolta di Ricette si chiama Ricettario .
- Un coltello è uno strumento da riga di comando in Chef Workstation che interagisce con Chef Server.
5. Modello di implementazione dello chef
Esistono due modelli di implementazione per Chef .
- Client server – Viene utilizzato per la distribuzione della produzione.
- Chef Zero – Viene utilizzato per sviluppo, test e POC.
6. Come lavora lo chef? L'infrastruttura come codice
Infrastructure as Code è la gestione dell'infrastruttura IT in cui ci consente di eseguire automaticamente varie installazioni/distribuzioni e gestione della configurazione. Qui tutte le configurazioni, le installazioni sono scritte come codice.
- Il client/nodo Chef eseguirà la registrazione e l'autenticazione con il server Chef.
- Il client/nodo Chef esaminerà periodicamente lo Chef Server. Il processo di autenticazione avviene ogni volta che lo chef-cliente vuole accedere ai dati memorizzati nello chef-server.
- Ohai è uno strumento che verrà eseguito da un client Chef per determinare lo stato del sistema, rileverà gli attributi (OS, memoria, disco, CPU, kernel, ecc.) del nodo e fornirà tali attributi allo chef-client. Ohai fa parte dell'installazione di Chef Client.
- Se vengono apportate modifiche al Ricettario o alle impostazioni di Configurazione, verrà inviato allo Chef-Client e verrà aggiornato/installato.
- I ricettari e le impostazioni verranno aggiornati nel server Chef utilizzando Chef Workstation tramite lo strumento da riga di comando Knife . La workstation invia tutte le politiche al server Chef utilizzando Knife.
- Poiché ogni client/nodo avrà un controllo periodico con il server Chef, le configurazioni verranno applicate individualmente in base al ruolo del server. Ad esempio:nei nodi Chef, alcuni nodi saranno server di database, alcuni nodi saranno server gateway, ecc.
Conclusione
In questo articolo, abbiamo visto i concetti di base di Configuration Management e dello strumento di automazione Chef. Vedremo il processo passo dopo passo dell'installazione di Chef nei prossimi articoli.