SaltStack - Salt dla infrastruktury chmurowej
Sól stanowi oddzielny moduł, Salt Cloud zapewnienie maszyn wirtualnych różnych dostawców chmury, takich jak Amazon AWS, Google Compute, itp. Salt Cloud to ogólny interfejs do konfigurowania i zarządzania maszynami wirtualnymi różnych dostawców chmury.
Cloud Config- Głównym plikiem konfiguracyjnym dla Salt Cloud jest / etc / salt / cloud i dotyczy on wszystkich maszyn wirtualnych. Główny plik konfiguracyjny nosi nazwęCloud Config.
Cloud Providers - Aby skierować reklamy do konkretnych dostawców usług w chmurze, możemy użyć określonego pliku konfiguracyjnego, który znajduje się w /etc/salt/cloud.providers.d/*.conf, nazywają się Cloud Providers.
Cloud Profiles - Aby wskazać konkretną maszynę wirtualną, możemy również użyć specjalnego pliku konfiguracyjnego, który dotyczy tylko tej konkretnej maszyny wirtualnej i znajduje się w /etc/salt/cloud.profiles.d/*.conf, są one nazywane jako Cloud Profiles.
W przypadku maszyny wirtualnej ustawienia w Cloud Config jest stosowany jako pierwszy, a następnie w Cloud Providers i wreszcie nadpisanie jest wykonywane przez Cloud Profiles.
Instalacja chmury solnej
Domyślnie Salt Cloud jest wbudowany w Salt i jest łatwo dostępny. Jeśli nie jest dostępny, możemy go zainstalować za pomocą poniższego polecenia.
pip install salt-cloud
Ponieważ Salt Cloud jest oddzielnym modułem i działa we własnym procesie, można go również zainstalować w systemie Salt Minion zamiast w Salt Master.
Udostępnianie maszyny wirtualnej
Aby udostępnić maszynę wirtualną, musimy zdefiniować dostawcę chmury i profil chmury. Po utworzeniu obu możemy udostępnić nową maszynę wirtualną do korzystania z niej.
Dostawca chmury
Informacje o hoście chmury są konfigurowane w pliku konfiguracyjnym dostawcy usług w chmurze. Zwykle podstawowe informacje, które należy skonfigurować, to sterownik chmury, nazwa użytkownika, hasło, klucz prywatny itp. Utwórzmy nowego dostawcę chmury o nazwie jakomy-amazon-cloud.
Utwórz plik my-amazon-cloud.conf w /etc/salt/cloud.providers.d/
Dodaj nowego dostawcę za pomocą ec2 kierowca.
my-amazon-cloud:
driver: ec2
id: '<AWS_ID>'
key: '<AWS_KEY>'
private_key: /path/to/privatekey.pem
keyname: <name of the key>
securitygroup: default
minion:
master: <master server>
Salt zapewnia sterowniki dla różnych hostów w chmurze po wyjęciu z pudełka, takich jak GoGrid, HP Cloud, Google Compute Engine (GCE), Amazon AWS, Joyent, Linode, OpenNebula, ProfitBricks, Proxmox, Saltify, VexxHost, VMWare itp.
Po skonfigurowaniu dostawców usług w chmurze możemy zapytać o dostępną lokalizację dostawcy, dostępne obrazy maszyn i ich różne rozmiary.
salt-cloud --list-location my-amazon-cloud
salt-cloud --list-images my-amazon-cloud
salt-cloud --list-sizes my-amazon-cloud
Profil chmury
Profil chmury określa obraz i rozmiar maszyny wirtualnej. Można go skonfigurować w - /etc/salt/cloud.profiles.d/. Stwórzmy prosty profil,simple.conf.
aws_micro:
provider: my-amazon-cloud
image: <image_id>
size: <machine_id e.g. t1.micro>
Maszyna wirtualna
Po skonfigurowaniu dostawcy i profili możemy łatwo udostępnić maszynę wirtualną za pomocą chmury soli, jak pokazano poniżej.
salt-cloud -p aws_micro master minion1 minion2
Gdzie, p - Profile name master, minion1 i minion2 to nowe maszyny wirtualne.
Szczegóły nowo utworzonej maszyny wirtualnej można uzyskać za pomocą następującego polecenia.
salt-cloud --query
Maszyny wirtualne można zniszczyć za pomocą następującego polecenia -
slat-cloud -d master minion1
Mapa chmur
Mapa chmury to specjalny format do jednoczesnego tworzenia wielu maszyn wirtualnych. Format pliku mapy polega na określeniu profilu, a następnie dodaniu pod nim listy maszyn wirtualnych.
Przykładowy plik mapy wygląda następująco -
micro:
- web1
- web2
large:
- db1
- db2
Plik mapy można przekazać jako argument do polecenia Salt-Cloud w celu utworzenia maszyny wirtualnej w następujący sposób -
salt-cloud -m /path/to/mapfile