Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.05.2020

Cloud Native Universe

Jako patron medialny zapraszamy programistów wdrażających lub integrujących się z dowolną...
26.03.2020

Koniec certyfikatów...

MCSA, MCSD i MCSA
26.03.2020

Odświeżony OS

FortiOS 6.4
26.03.2020

Bezpieczeństwo w chmurze

Cisco SecureX
26.03.2020

Modernizacja IT

Nowości w VMware Tanzu
26.03.2020

Krytyczne zagrożenie dla...

Nowa groźna podatność
26.03.2020

Laptopy dla wymagających

Nowe ThinkPady T, X i L
26.03.2020

Serwerowe ARM-y

Ampere Altra
26.03.2020

Energooszczędny monitor

Philips 243B1

Ansible dla administratora

Data publikacji: 22-01-2020 Autor: Konrad Kubecki

Ansible, choć kojarzony głównie z DevOpsem, oferuje ogrom możliwości administratorom mającym tylko niewielki udział w rozwoju oprogramowania. Automatyzacja zadań w systemach Linux przy użyciu tego narzędzia to oczywista korzyść. Jednak Ansible pozwala administratorom na znacznie więcej.

 

Możliwości Ansible’a są ogromne. W oficjalnej dokumentacji opisane są ponad trzy tysiące modułów, a każdy z nich implementuje pewien zakres działań gotowych do zautomatyzowania. Są moduły pozwalające na pobieranie plików, zakładanie katalogów czy zarządzanie kontami użytkowników. Funkcje oferowane przez moduły wykorzystuje się w specjalnych plikach nazywanych playbookami. Ich zawartość to scenariusze, według których Ansible dokonuje zmian na wyznaczonych serwerach.

 

> PLAYBOOKI

 

Playbooki są tworzone przy użyciu języka YAML. To narzędzie do komponowania przejrzystej struktury danych. Administratorom zajmującym się serwerami linuksowymi playbooki i YAML mogą się kojarzyć z typowymi dla tego systemu operacyjnego plikami konfiguracyjnymi. Ich ogromną zaletą jest prostota. Zadania zapisane w play­booku są czytelne i zrozumiałe praktycznie od pierwszych chwil poświęconych na ich poznanie. Krótkie oraz intuicyjne instrukcje nie rodzą wątpliwości dotyczących ich przeznaczenia.
Największą trudność może stanowić nie tyle zrozumienie składni i charakterystyki playbooków, ile samo utrzymanie hierarchii w pliku. Lista klientów, zmienne, moduły oraz polecenia muszą być poprzedzone odpowiednią liczbą spacji. Brak choćby jednej lub zastosowanie zbyt wielu spacji w jednym wierszu powodują, że playbook nie będzie wykonywany prawidłowo. Mimo to do tworzenia playbooków z powodzeniem posłużą programy takie jak vi/vim, GNU Nano, Easy Editor czy Lime Text.
W niniejszym artykule skupimy się na stworzeniu prostych playbooków na potrzeby systemu CentOS. Wśród możliwości Ansible’a, które mogą interesować administratorów systemów Linux/Unix, są m.in.:
 
  • konfiguracja zasobów dyskowych – tworzenie partycji ext2, ext3, ext4, xfs, swap, vfat, btrfs, lvm i innych,
  • montowanie zasobów,
  • operacje na plikach – tworzenie oraz usuwanie plików, katalogów oraz linków,
  • nadawanie uprawnień, atrybutów,
  • kopiowanie plików ze zdalnych lokalizacji,
  • pobieranie skryptów z innych serwerów i uruchamianie ich,
  • sterowanie konfiguracją firewalla systemowego w zakresie blokowania ruchu i zezwalania na ruch do wyznaczonych usług/portów,
  • tworzenie i usuwanie kont użytkowników oraz grup,
  • konfiguracja ustawień sieci,
  • sterowanie menedżerami pakietów w zakresie instalowania, aktualizacji oraz usuwania oprogramowania,
  • zarządzanie HAProxy poprzez ustawianie wag i włączanie/wyłączanie serwerów typu backend,
  • konfigurowanie FreeIPA,
  • zarządzanie bazami danych MySQL, PostgreSQL,
  • włączanie i wyłączanie modułów serwera Apache.
 
> NIE TYLKO LINUX
 
Warto spojrzeć na temat zarządzania infrastrukturą IT przy użyciu playbooków z nieco szerszej perspektywy. Ansible ma moduły pozwalające na konfigurację nie tylko serwerowych i desktopowych systemów operacyjnych. Współpracuje z dużą liczbą narzędzi wykorzystywanych do zarządzania sprzętem i usługami. Te możliwości mogą służyć zespołom administratorów Linux/Windows, sieci, baz danych i serwerów fizycznych do automatyzacji oraz standaryzacji ich pracy. Wśród modułów Ansible’a mogących posłużyć specjalistom wymienionych wyżej kategorii znajdziemy takie, które oferują:
 
  • zarządzanie konfiguracją serwera VMware vCenter (klastry, HA, DRS, switche dystrybucyjne, vSAN, maszyny wirtualne),
  • konfigurowanie usług chmurowych AWS i Azure,
  • konfigurowanie przełączników Hua­wei CloudEngine,
  • zarządzanie infrastrukturą IaaS zbudowaną przy użyciu Apache CloudStack oraz OpenStack,
  • konfigurowanie Dockera (kontenery, klastry Docker Swarm, sterowanie narzędziem Compose),
  • zarządzanie FortiManagerem oraz ustawieniami urządzeń z systemem FortiOS,
  • konfigurowanie Cisco IOS oraz Cisco UCS,
  • sterowanie oprogramowaniem służącym do zarządzania macierzami NetApp,
  • zarządzanie i pobieranie informacji o urządzeniach serwerowych podłączonych do HPE OneView.
 
> KORZYŚCI DLA ADMINA
 
Stosowanie Ansible’a do wsparcia czynności administratorskich niesie szereg korzyści – podstawowa z nich to automatyzacja. Dzięki niej prace wykonuje się szybciej i w sposób pozbawiony ryzyka błędu ludzkiego. Alternatywą dla ręcznego instalowania serwera webowego, klienta monitoringu lub konfiguracji firewalla mogą być playbooki przeznaczone dla tych zadań. Ze stosowania playbooków wynika kolejna korzyść, którą niewątpliwie jest standaryzacja. Jednolita metoda wdrażania i konfiguracji usług to podstawowe oręże w walce z konfiguracjami nieprawidłowymi lub robionymi „na skróty”. Te wcześniej czy później stają się źródłem problemów lub przyczyną niepotrzebnej i czasochłonnej analizy oraz prac naprawczych. Stosowanie wspólnych standardów dla grup serwerów pełniących te same lub podobne funkcje zapewnia również przewidywalność. Administrator nie musi orientować się w indywidualnej konfiguracji dziesiątek czy setek serwerów. Nie ma także konieczności utrzymywania wielu stron dokumentacji dla różnych serwerów. Dokumentacji, która często nawet nie powstaje.
Znając ogólnie przyjęte standardy konfiguracji dla różnych usług i komponentów systemu operacyjnego, administrator może z marszu przejść do diagnozy, rozwiązywania problemów lub planowanej rekonfiguracji. Przewidywalność zapewnia spokój, efektywniejszą pracę i ogranicza występowanie niemiłych niespodzianek.
Kolejnym plusem wynikającym z korzystania z Ansible’a jest możliwość zorganizowania centralnego repozytorium na potrzeby plików konfiguracyjnych, skryptów oraz aplikacji. Często stosowaną opcją opisywanego narzędzia jest pobieranie tej samej zawartości i wdrażanie jej na całej grupie serwerów. To sposób na szybkie i równoległe przeprowadzanie prac. Repozytorium plików można także zorganizować przy użyciu systemu do kontroli wersji. Wobec tego otwiera się szansa na uporządkowane zarządzanie zmianami w plikach i szybką dystrybucję na serwery.
 
> W PRAKTYCE
 
Playbook może zawierać definicję jednego lub wielu zadań. Musi natomiast mieć listę serwerów, na których te zadania będą uruchamiane. Może to być pojedynczy serwer lub cała ich grupa. Listę klientów definiuje się w pliku /etc/ansible/hosts, na hoście, który posłuży jako serwer Ansible’a. Wystarczy dopisać do tego pliku nazwy klientów. Można je także grupować i dzięki temu uruchamiać pojedynczy playbook na wielu klientach jednocześnie. 
 
[...]
 
Specjalista ds. utrzymania infrastruktury i operacji. Zajmuje się problematyką budowy i utrzymania centrów przetwarzania danych oraz zarządzania nimi i koordynowaniem zmian dotyczących krytycznej infrastruktury IT. 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"