2014-07-16 19 views
10

Sto cercando di capire il concetto di client e validatori Chef e la loro relazione con il processo di avvio automatico.Client e validatori Chef

In base allo this article, lo chef-client utilizzerà la chiave privata /etc/chef/validation.pem per autenticarsi per la corsa iniziale, perché /etc/chef/client.pem non esiste ancora. Questa esecuzione iniziale produrrà, in qualche modo, quello client.pem, che verrà quindi utilizzato per tutte le richieste successive dei client.

Le mie domande:

  1. Quale processo pone il file /etc/chef/validation.pem sul nodo cuoco-client, in primo luogo? Il bootstrap? Qualcuno può fornire un esempio di comando di un coltello che farebbe questo?
  2. Stessa domanda, ma per il file /etc/chef/client.pem.
  3. Quali sono i nomi dello chef-cliente e del suo chef-validatore?

risposta

8

rispondere alle vostre domande aggiornati

1) Validation.Pem (e client.rb) verrebbero creati dopo il processo di bootstrap. è necessario eseguire il comando (client di configurazione coltello) mostrato di seguito per creare tali file. una volta che tali file vengono creati nella directory ~/.chef è necessario spostarli in/etc/chef

knife configure client ~/.chef 
sudo su 
mkdir -p /etc/chef 
cp ~/.chef/client.rb /etc/chef 
cp ~/.chef/validation.pem /etc/chef 

e l'uscita sarebbe

Creazione di configurazione del client scrittura client.rb scrittura convalida .pem

2) Client.pem verrà creato durante la prima esecuzione di chef-cliente. Estratti dal Chef Documenation

"durante la prima esecuzione cuoco-client, questo (client.pem) chiave privata non esiste. Invece, lo chef-client tenterà di utilizzare la chiave privata assegnata allo chef-validatore, situato in /etc/chef/validation.pem. (Se, per qualsiasi ragione, lo chef-validatore non è in grado di fare una richiesta autenticata al server Chef, la prima esecuzione di chef-cliente fallirà.) "

Per esempio, generalmente lo faccio nel modo seguente. una volta che il cliente è impostato (per la prima volta) e ho eseguito la ricetta cuoco su quel nodo usando il comando lo chef-client, come di seguito allora sarebbe creare automaticamente client.pem

chef-client -o Cookbook_name::Recipe_Name 

3) Assicuratevi che il vostro nome host è UNICO/CORRETTO PRIMA DI FARE QUESTO. Su Centos, cambia il file/etc/sysconfig/network e usa /etc/init.d/network restart per riassociare tutto.

La mia risposta alla prima domanda è la soluzione qui. Dopo aver eseguito il comando (in genere questo comando viene eseguito dopo il bootstrap)

knife configure client ~/.chef 

il nome host del nodo client verrebbe creato automaticamente nella cuoco-server.


risposte alle vostre prima e seconda questione (prima di modificare la domanda)

1) Tutto ciò che si vede nel seguente link http://mychefserver.example.com/clients sono l'inviato di nodi (macchine fisiche) che sono registrati con quel particolare Chef -Server. Chef-Client è un agente che verrebbe eseguito su ciascun nodo registrato con lo chef-server. Chef-client è utilizzato per eseguire le ricette sui nodi corrispondenti. Di seguito è riportato il modo di eseguire la ricetta dello chef su un nodo utilizzando il client dello chef.

chef-client -o Cookbook_name::Recipe_Name 

Mettendo tutto insieme i clienti sono l'insieme dei nodi che sono collegati a chef-server di cuoco-client è un agente in esecuzione in tutti i nodi e viene utilizzato per registrare il nodo con lo chef-server per portare il nodo allo stato desiderato. Ci sono molti altri usi di chef-cliente. Per i dettagli, visita [Chef-Client] [1] la pagina della documentazione.

2) Un bootstrap è un processo che installa lo chef-client su un sistema di destinazione in modo che possa funzionare come chef-client e comunicare con un server Chef.

Per mettere in un altro modo il processo di bootstrap è il modo di installare chef-client su un nodo (macchina hardware) e rendere quel nodo come uno dei client per quello chef-server. solo una volta completato il processo di bootstrap quel particolare nodo sarà visibile nell'elenco dei client nel

http://mychefserver.example.com/clients 
+1

Questo indirizzo la domanda prima di modificare la domanda. –

+0

Grazie codice @grep (+1)! – IAmYourFaja

+0

@IAmYourFaja. Prego. Si prega di trovare la risposta aggiornata –