GNU/Linux >> Linux Esercitazione >  >> Cent OS

Cos'è l'automazione e la gestione della configurazione con CHEF – Parte 1

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/7

Questo 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.


Cent OS
  1. Flatpak su Linux:cos'è e come installare app con esso

  2. Apache con Tomcat, una guida passo passo all'installazione e alla configurazione

  3. Installazione di CentOS 7 passo dopo passo con ScreenShot – Parte 1

  4. Nozioni di base sull'amministratore di sistema Linux:gestione dell'account utente con UID e GID

  5. cos'è diff bentween xargs con parentesi graffe e senza in linux

Composizione di documenti con LaTeX e TeXstudio su Fedora – Parte 1

Che cos'è Crontab e come automatizzare le attività in Linux con Crontab

Gestione dei pacchetti Linux con YUM e RPM

Guida introduttiva a Vagrant e VirtualBox – Parte 1

Parte 4:configurazione di SPF e DKIM con Postfix su CentOS 8/RHEL 8 Mail Server

Come installare e configurare Hive con disponibilità elevata – Parte 7