2013-08-28 8 views
7

Powiedz, czy chcesz knife node delete 'NODENAME' usunąć węzeł z serwera szefa kuchni, pozostawiając odpowiednią maszynę wirtualną działającą w niezmienionym stanie.Szef kuchni: Usuń węzeł za pomocą noża i dodaj go ponownie później.

Czy jest to możliwe, jeśli muszę wprowadzić zmiany na tym serwerze w przyszłości, aby ponownie dodać maszynę wirtualną jako węzeł i uruchomić klienta szefa kuchni (lub inne polecenie szefa kuchni w tej sprawie)?

+0

Dlaczego go usunąć? – StephenKing

+1

Czy znalazłeś rozwiązanie tego problemu? Można odpowiedzieć na własne pytanie. Proszę nie zapomnieć zaznaczyć odpowiedzi jako poprawnej! :) – sethvargo

Odpowiedz

2

Atrybuty zniknęły po usunięciu węzła. Tak więc: nie.

+1

Właściwie ... Jeśli książki kucharskie, których używasz, mogą znieść utratę stanu maszyny wirtualnej (zwykle przechwytywaną przez atrybuty węzła), wtedy nowy bootstrap będzie działał dobrze. –

3

Myślę, że po usunięciu węzła z serwera szefa kuchni poświadczenia usuniętych komputerów zniknęły z serwera. Ponownie, jeśli chcesz ponownie dodać ten sam węzeł, musisz usunąć plik client.pem (/etc/chef/client.pem) w tym węźle, który został utworzony przez poprzedni bootstrap.

1

Tym poleceniem knife node delete 'NODENAME' usuwasz węzeł z organizacji szefa kuchni. Ale pamiętaj, że informacje o węźle (głównie plik yml), w tym różne książki kucharskie są przechowywane w SCM. Dlatego musisz usunąć wpis lub komentarz do węzła, który chcesz usunąć i wpisać kod. Aby następnym razem przesłać książki kucharskie do serwera szefa kuchni, węzeł nie będzie widoczny.

Jeśli chcesz go dodać, dodaj go do swojej książki kucharskiej & Sprawdź kod. To jest dla SCM. Następnie prześlij książkę kucharską do serwera szefa kuchni. Teraz - kiedy robisz klienta-szefa kuchni, to zawiedzie się on w potrząśnięciu ręki.

Usuń plik /etc/chef/client.pem (upewnij się, że plik validation.pem już istnieje) w węźle. Ponownie uruchom klienta-szefa kuchni.

12

Nasz przypadek użycia obejmuje tworzenie maszyn wirtualnych i uruchamianie ich przez szefa kuchni (przy użyciu nazwy hosta jako nazwy węzła szefa kuchni). Węzły są często usuwane i tworzone w kółko o tej samej nazwie. Kiedy zniszczymy maszynę wirtualną, uruchamiamy dwie komendy do czyszczenia w Chef.

knife node delete --yes NODENAME 
knife client delete --yes NODENAME 

Należy pamiętać, że w naszym przypadku użycia nie są zainteresowani w utrzymaniu żadnych informacji o tym, co robi węzeł (tj swoją listę biegu lub inne atrybuty).

Jeśli nie chcesz usuwać serwera, możesz uruchomić powyższe dwa polecenia, aby wyczyścić węzeł z serwera szefa kuchni, a następnie uruchomić następujące polecenia na urządzeniu, aby usunąć szefa lokalnie. Po zakończeniu możesz ponownie uruchomić szefa kuchni.

#depending on how you installed chef 
yum -y remove chef 
OR 
rpm -e `rpm -q chef` # rpm -q chef returns the version of chef installed 

rm -rf /var/chef 
rm -rf /etc/chef 
rm -rf /opt/chef