SaltStack - serwer plików Salt

Serwer plików Salt jest bezstanowym serwerem ZeroMQ. Jest wbudowany w mistrza soli. Serwer plików Salt służy do dystrybucji plików od głównego do minionów. Zawiera różne moduły. Zrozummy, jak działa serwer plików salt, jego konfigurację, moduły związane z serwerem plików salt, jak uzyskać dostęp do serwera plików salt w pythonie itp. W tym rozdziale.

Backend serwera plików

Zaplecze serwera plików pozwala serwerowi plików Salt działać jako przezroczysty interfejs dla innego serwera plików, takiego jak lokalny system plików, system kontroli wersji Git itp.

Zaplecze serwera plików Git można włączyć przy użyciu następującej konfiguracji w pliku głównym.

fileserver_backend:
   - git

Aby włączyć wiele systemów plików zaplecza, możemy użyć następującej konfiguracji.

fileserver_backend:
   - roots
   - git

Możemy również określić dodatkową opcję dla innego serwera zaplecza, używając określonej sekcji odpowiedniego serwera zaplecza.

Lokalny system plików

Aby skorzystać z tego systemu, musimy użyć następującego kodu.

file_roots:
   base:
      - /srv/salt/prod

System plików Git

Aby skorzystać z tego systemu, musimy użyć następującego kodu.

gitfs_remotes:
   - https://github.com/sample/sample1.git

Żądanie plików

Salt ma opcję żądania plików dla określonych środowisk.

salt://path/to/file?saltenv = base

Tutaj środowisko jest definiowane za pomocą opcji root.

Konfiguracja serwera plików

Pliki Salt można alokować w wielu katalogach głównych i uzyskiwać do nich dostęp, określając zarówno ścieżkę do pliku, jak i środowisko wyszukiwania. Poszczególne środowiska mogą obejmować wiele katalogów głównych.

Środowisko

Domyślne środowisko to podstawowe. To środowisko jest zdefiniowane i jest używane do pobierania plików, gdy nie określono innego środowiska.

file_roots:
   base:
      - /srv/salt/base

Możesz także używać wielu środowisk, jak pokazano w poniższym kodzie.

file_roots:
   base:
      - /srv/salt/base
   dev:
      - /srv/salt/dev
      - /srv/salt/base

Moduł CP

Moduł CP jest głównym modułem do obsługi plików Salt file server. Pliksalt-cp Polecenie może być również używane do dystrybucji plików prezentowanych przez serwer plików Salt.

DOSTAĆ PLIK

Plik cp.get_fileFunkcja może być użyta na minionie, aby pobrać plik z mastera. Jest zdefiniowany, jak pokazano w poniższym bloku kodu.

salt '*' cp.get_file salt://vimrc /etc/vimrc

Powyższe polecenie instruuje wszystkich sługusów Salt, aby pobrać plik vimrc plik i skopiuj go do /etc/vimrc.

Włącz szablon

Możesz włączyć opcję szablonu w get_file w następujący sposób -

salt '*' cp.get_file "salt://vimrc" /etc/vimrc template = jinja

Zastosuj kompresję

Aby użyć kompresji, użyj rozszerzenia gzipnazwany argument. Poprawne wartości to liczby całkowite od 1 do 9, gdzie 1 to minimalna kompresja, a 9 to maksymalna wartość.

Polecenie jest zdefiniowane w następujący sposób -

salt '*' cp.get_file salt://vimrc /etc/vimrc gzip = 5

GET_DIR

Plik cp.get_dirFunkcja może być użyta na minionie do pobrania całego katalogu z mastera. Jest zdefiniowany w poniższym bloku kodu.

salt '*' cp.get_dir salt://etc/mysql /etc

Plik cp.get_dirobsługuje renderowanie szablonów i argumenty kompresji gzip. Jeśli chcesz, możesz również przypisać.

Moduł FILECLIENT

Salt udostępnia moduł Pythona, który pomaga uzyskać dostęp do serwera plików Salt. Pliksalt/fileclient.py Moduł służy do nawiązania komunikacji między stronnikiem a mistrzem.

Przykładowy kod do pobierania plików jest następujący -

import salt.minion
import salt.fileclient

def get_file(path, dest, saltenv = ‘base'):
   client = salt.fileclient.get_file_client(__opts__)
   return client.get_file(path, dest, true, saltenv)

Tutaj,

  • opts jest dostępne, gdy moduł działa w środowisku solnym. W przeciwnym razie powinniśmy podać ścieżkę konfiguracyjną -/etc/salt/minion.

  • path odnosi się do ścieżki pliku źródłowego na serwerze plików soli.

  • dest odnosi się do ścieżki docelowej pliku.

  • saltenv odnosi się do środowiska

W następnym rozdziale dowiemy się, jak używać Git jako serwer plików.