Zainstalowałem puppetmaster w Ubuntu 11.04 i zainstalowałem puppet u wszystkich moich klientów. Dołączyłem do wszystkich moich klientów marionetek z mistrzem marionetek. Czy jest możliwe skopiowanie pliku do wszystkich tych klientów marionetek z Master Puppet?
Na przykład:
Mam plik o nazwie datas.xls na moim pulpicie (Puppet Master). Jak skopiować te pliki do wszystkich moich klientów marionetek w następującej lokalizacji (/ home / operator1 / Desktop / Backup /)?
Aktualizacja:
- Cześć, nadal nie można udostępnić pliku.
- Jak zmodyfikować ten wiersz,
puppet:///modules/module_name/datas.xls
plik do skopiowania znajduje się w tej lokalizacji/etc/puppet/modules/mymodule/manifests/datas.xls
?
Błąd na kliencie: (rozwiązany)
root@testing:~# puppetd --test
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class sudo at /etc/puppet/manifests/site.pp:2 on node testing.chn.jd.com
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
Błąd 2 na kliencie:
root@tme13:~# puppetd --test
err: Could not run Puppet configuration client: Could not retrieve local facts: bad URI(is not URI?): http://169.254.169.254/2008-02-01/meta-data/<HTML><HEAD><TITLE>HTTP access denied</TITLE></HEAD><BODY><img src/
Nowa aktualizacja:
Jak zastosować ten moduł do wszystkich węzłów? Tak, że plik zostanie skopiowany do wszystkich węzłów.
Odpowiedzi:
Kukiełka jest trochę potworem, który pomaga ci się skupić, więc uczenie się na przykładzie nie jest niczym złym. Poniżej zakładam, że używasz modułów - w komentarzu powiedz, jeśli nie jesteś, lub jeśli potrzebujesz więcej informacji o tym, jak złożyć moduł razem.
Załóżmy, że uruchamiasz nowy moduł o nazwie
mymodule
. W katalogu domowym marionetek (zwykle/etc/puppet
) w głównym marionetce należy utworzyć katalog manifestów i plików:Następnie utwórz plik w tym katalogu o nazwie
init.pp
i wprowadź:Następnie umieść
datas.xls
plik w katalogu modułufiles
- w tym przykładzie wmodules/mymodule/files/
. (Uwaga: może istnieć równieżtemplates
katalog szablonów ).W
manifests/site.pp
pliku musisz zaimportować moduł i dołączyć klasę, wykonując coś takiego:Upewnij się, że wszystkie twoje węzły dziedziczą od podstawy i to powinno być wszystko, co musisz zrobić. Począwszy od kukiełki 0.25 możesz używać wyrażeń regularnych w nazwie węzła, np .:
Daj mi znać w komentarzach, jeśli potrzebujesz dodatkowych wyjaśnień.
Konfigurowanie klienta do rozmowy z mistrzem marionetek
Na kliencie musisz wykonać:
Następnie edytuj
/etc/default/puppet
i zmieńSTART=no
naSTART=yes
.Edytuj
/etc/puppet/puppet.conf
i dodaj wiersz do[main]
sekcji, aby powiedzieć mu, gdzie znaleźć mistrza marionetek:Następnie możemy wykonać uruchomienie testowe
sudo puppetd --test
. Jeśli pojawią się błędy klucza, może być konieczne przejście do głównego serwera kukiełkowego i podpisanie klucza klienta. Aby sprawdzić dokładną nazwę, którą możesz zrobić,sudo puppetca --list
a następniesudo puppetca --sign server1.mydomain.com
(lub inną nazwę serwera z polecenia list).Teraz rozpocznij służbę marionetek
sudo service puppet start
i powinieneś być daleko. Usługa lalek będzie działać co godzinę, więc jeśli zaktualizujesz swoje przepisy na marionetki, wszyscy klienci również zostaną zaktualizowani.Usuwanie plików
W oryginalnym pytaniu zauważam, że chciałeś wiedzieć, jak usunąć pliki. Zmodyfikowałbyś
manifests/init.pp
toInne przydatne wskazówki
Jeśli masz problemy, możesz zrobić kilka rzeczy. Na dowolnej maszynie z zainstalowaną marionetką możesz sprawdzić swoją składnię, uruchamiając
lub sprawdź wszystko, wyjmując
--ignoreimport
flagę, ale może to prowadzić do śmiesznych komunikatów o błędach, które tak naprawdę nie są błędami, które znalazłem. Możesz również uruchomić program kukiełkowy na żywo na maszynie klienta kukiełkowego, wykonując:który pokazuje różne przydatne dane wyjściowe, z błędami i ostrzeżeniami podświetlonymi w różnych kolorach. Jeśli chcesz jeszcze więcej szczegółów, możesz uruchomić:
ale generalnie generuje tyle mocy wyjściowej, że trudno się z nią przedzierać, więc rób to tylko wtedy, gdy już wypróbowałeś poprzednie kroki i utknąłeś i musisz zobaczyć, jak wszystko jest zrobione.
Zauważ, że jest to oparte na marionetce 0.25.x, której obecnie używam w pracy, a także wersji w Ubuntu 10.04. Kod lalek w sekcji głównej na pewno nadal będzie działał, ale późniejsze wersje lalek mają nowe flagi, które mogą pomóc w debugowaniu danych wyjściowych.
źródło
puppet:///modules/module_name/datas.xls
plik do skopiowania znajduje się pod tą lokalizacją/etc/puppet/modules/mymodule/manifests/datas.xls
/etc/puppet/modules/mymodule/files/datas.xls
- zaktualizuję odpowiedź, aby była bardziej zrozumiała.puppet agent --test