Pytanie Klienci szefa kuchni i weryfikatorzy


Próbuję zrozumieć koncepcję klientów szefa kuchni i weryfikatorów oraz ich związek z procesem ładowania.

Według Ten artykuł, szef kuchni-klient skorzysta z /etc/chef/validation.pem klucz prywatny do uwierzytelnienia się podczas pierwszego uruchomienia, ponieważ /etc/chef/client.pem jeszcze nie istnieje. Ten początkowy przebieg w jakiś sposób to wytworzy client.pem, który jest następnie używany dla wszystkich kolejnych żądań klientów.

Moje pytania:

  1. Jaki proces umieszcza /etc/chef/validation.pem plik w węźle chef-client w pierwszej kolejności? Pasek startowy? Czy ktoś może podać przykład polecenia noża, które by to zrobiło?
  2. To samo pytanie, ale dla /etc/chef/client.pem plik.
  3. Co dyktuje imiona szefa kuchni-klienta i jego opiekuna-weryfikatora?

11
2017-07-16 19:18


pochodzenie




Odpowiedzi:


Odpowiadając na zaktualizowane pytania

1) Validation.Pem (i client.rb) zostaną utworzone po procesie bootstrap. aby utworzyć ten plik, musisz uruchomić poniższe polecenie (klient konfiguracji noży) pokazane poniżej. po utworzeniu tych plików w katalogu ~ / .chef należy przenieść je do / etc / chef

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

a wyjście będzie

Tworzenie konfiguracji klienta Zapisywanie pliku client.rb Pisanie sprawdzania poprawności.pem

2) Client.pem zostanie utworzony podczas pierwszego uruchomienia szefa-klienta. Fragmenty z Chef Documenation

"Podczas pierwszego uruchomienia klienta-szefa, ten klucz prywatny (client.pem) nie istnieje, zamiast tego szef-klient spróbuje użyć klucza prywatnego przypisanego do weryfikatora szefa kuchni, znajdującego się w / etc / chef / validation. pem. (Jeśli z jakiegokolwiek powodu weryfikator szefa kuchni nie jest w stanie wykonać uwierzytelnionego żądania na serwerze szefa kuchni, początkowy bieg szefa-klienta zakończy się niepowodzeniem.) "

Na przykład generalnie robię to w następujący sposób. po ustawieniu klienta (po raz pierwszy) i uruchomieniu przepisu szefa kuchni na tym węźle za pomocą polecenia szef-klient, jak poniżej, automatycznie utworzono client.pem

chef-client -o Cookbook_name::Recipe_Name

3) UPEWNIJ SIĘ, ŻE NAZWA UŻYTKOWNIKA JEST UNIKALNA / POPRAWNA PRZED ROZPOCZĘCIEM TEGO. W Centos zmień plik / etc / sysconfig / network i użyj /etc/init.d/network restart, aby ponownie powiązać wszystko.

Moja odpowiedź na pierwsze pytanie jest tutaj rozwiązaniem. Po uruchomieniu polecenia (zazwyczaj to polecenie jest uruchamiane po bootstrapie)

knife configure client ~/.chef 

nazwa hosta węzła klienta zostanie automatycznie utworzona w serwerze szefa kuchni.


Odpowiedzi na twoje pierwsze i drugie pytanie (przed edycją pytania)

1) Wszystko, co widzisz w poniższym linku http://mychefserver.example.com/clients są wysyłane węzły (maszyny fizyczne), które są zarejestrowane z tym konkretnym serwerem-szefem kuchni. Chef-Client jest agentem działającym na każdym węźle zarejestrowanym w serwerze szefa kuchni. Chef-client służy do uruchamiania receptur na odpowiednich węzłach. Poniżej znajduje się sposób na uruchomienie receptury szefa kuchni na węźle za pomocą klienta szefa kuchni.

chef-client -o Cookbook_name::Recipe_Name

Łączenie klientów jest zbiorem węzłów połączonych z serwerem-szefem kuchni - klient jest agentem działającym we wszystkich węzłach i jest używany do rejestracji węzła z serwerem-szefem kuchni w celu dostosowania węzła do pożądanego stanu. Istnieje wiele innych zastosowań szefa kuchni-klienta. Aby uzyskać szczegółowe informacje, odwiedź stronę [Chef-Client] [1] na stronie dokumentacji.

2) Bootstrap to proces, który instaluje klienta-szefa w docelowym systemie, aby mógł działać jako szef-klient i komunikować się z serwerem szefa kuchni.

Innym sposobem na załadowanie bootstrap jest instalacja szefa-klienta na węźle (maszyna sprzętowa) i uczynienie tego węzła jednym z klientów dla tego szefa kuchni. tylko po zakończeniu procesu ładowania początkowego dany węzeł będzie widoczny na liście klientów w twoim

http://mychefserver.example.com/clients

9
2017-07-16 19:48



To odpowiada na pytanie przed edytowaniem pytania. - sun_dare
Thanks @grep code (+1)! - IAmYourFaja
@AmYourFaja. Zapraszamy. Znajdź zaktualizowaną odpowiedź - sun_dare