2014-06-30 19 views
6

Sono nuovo per Chef e ho configurato correttamente i miei tre nodi: workstation, client e server. I dottori dello chef citano uno "repo" di chef e il suo contenuto è molto simile al server dello chef. Qual è la differenza tra i due, o sono anche loro? Sto chiedendo perché altre persone della mia compagnia che hanno usato lo chef, hanno creato una directory di chef-repo in sovversione, e questa scatola è diversa dal server chef che ho creato. Grazie!Differenza tra chef server e chef repo?

risposta

8

Sono diversi.

Lo "Chef Repo" è la raccolta di "codice" - libri di cucina, ricette, ecc. Questo è il tuo codice base. Per disegnare un parallelo, questo è il codice raw che avresti inviato a SCM (come GitHub o BitBucket). Se stavi creando un pacchetto, questo sarebbe un mucchio di codice.

Il "Server Server" è, tra le altre cose, archivio di oggetti. Contiene artefatti finali (libri di cucina), confezionati dallo "Chef Repo". Se stavi creando un pacchetto, questo sarebbe un .deb o .rpm.

I tuoi nodi comunicheranno solo con il Server Chef. Quindi lo sviluppo locale che fai nello Chef Repo non viene applicato fino a quando l'artefatto non viene confezionato e caricato nello Chef Server.

+0

vedo. Quando stavo configurando il mio client (tramite knife configure -i) ha chiesto una posizione di repo per chef, che ho lasciato in bianco. Posso ora aggiungere questo nel coltello.db? –

+0

Sì. Basta impostare l'attributo 'cookbook_path' sul percorso dei tuoi libri di cucina. – sethvargo

1

Cos'altro dire quando sethvargo ha già parlato, lasciatemi andare avanti e aggiungere il mio punto di vista. Nello scenario hai quattro macchine in funzione, il cliente acutale che desideri configurare attraverso lo chef, la workstation, lo chef server e un repository di chef.

  1. Workstation: la workstation è dove si scrive il ricettario. Quindi è qui che avrai installato tutti i tuoi IDE come RubyMine o VIM o Sublime Text e li userò per scrivere alcune ricette per configurare i tuoi nodi. Questa è la tua macchina locale.

  2. Chef Repo: Questo è un sistema di controllo di versione come GitHub, bitbucket o mercuriale. Questo è dove si periodicamente (letto come tutti i giorni) Codice di spinta in modo da poter mantenere il vostro codice di sicurezza, collaborare con altri sviluppatori la scrittura del codice con voi ecc Questo può essere un server comune al lavoro o è su internet.

  3. Cliente: Questa è la casella che si desidera configurare utilizzando chef. Questo è il destinatario del software che si desidera installare o di tutte le intromissioni che farai con l'infra.

  4. Chef Server: I libri di cucina che hai scritto bisogno di essere tirato verso il basso per il cliente ad un certo punto del tempo. Quindi questo dove il client tirerà giù il codice e lo eseguirà.

Spero che questo è ciò che si intende chiedere.

1

Chef repo:

  • Lo chef-repo è la struttura del repository in cui libri di cucina sono autore, collaudo e manutenzione.

  • I libri di cucina contengono ricette, attributi, risorse personalizzate, librerie, definizioni , file, modelli, test e metadati.

  • Lo chef-repo deve essere sincronizzato con un sistema di controllo versione (come git), e quindi gestito come se fosse codice sorgente.

  • La struttura di directory all'interno del cuoco-pronti contro termine varia. Alcuni organizzazioni preferiscono mantenere tutti i loro libri di cucina in un unico cuoco-pronti contro termine, mentre le altre organizzazioni preferiscono usare un cuoco-repo per ogni libro di cucina.

  • La documentazione dello chef si riferisce a una macchina di sviluppo come workstation dello chef . Una stazione di lavoro ha uno o più repository per la gestione i manufatti infrastrutturali e lo strumento coltello per interagire con un server chef.

  • Una (o più) workstation sono configurate per consentire agli utenti di eseguire il test e di conservare libri di cucina. I libri di cucina vengono caricati sul server Chef dalla workstation. Alcuni libri di cucina sono personalizzati per l'organizzazione e altri si basano sui libri di cucina della comunità disponibili dal supermercato dello chef.

Chef Server:

  • Il server agisce Chef come un hub di informazioni. Le cartelle di cucina e le politiche vengono caricate sul server Chef dagli utenti delle workstation. (impostazioni dei Criteri possono anche essere mantenuti dal server Chef stesso, tramite la console di gestione dell'interfaccia utente web Chef.)

  • Lo chef-client accede al server Chef dal nodo su cui è installato per ottenere i dati di configurazione , eseguire ricerche dei dati di esecuzione di chef-cliente storici, quindi eseguire il pull dei dati di configurazione necessari. Al termine dell'esecuzione di chef-cliente, lo chef-cliente carica i dati di esecuzione aggiornati sul server Chef (come oggetto nodo aggiornato), carica i dati generati dalla modalità di controllo (per elaborazione di regole aggiuntive da Chef Analytics) e genera dati di segnalazione.

  • console di gestione Chef è l'interfaccia utente per il server Chef. E viene utilizzato per gestire i sacchetti di dati, gli attributi, run-liste, ruoli, ambienti, e libri di cucina, e anche per configurare l'accesso basato sui ruoli per utenti e gruppi.