SaltStack - Salz für die Cloud-Infrastruktur
Salt bietet ein separates Modul, Salt Cloud Salt Cloud ist eine generische Schnittstelle zum Konfigurieren und Verwalten von VMs verschiedener Cloud-Anbieter, um virtuelle Maschinen verschiedener Cloud-Anbieter wie Amazon AWS, Google Compute usw. bereitzustellen.
Cloud Config- Die Hauptkonfigurationsdatei für Salt Cloud lautet / etc / salt / cloud und gilt für alle VMs. Die Hauptkonfigurationsdatei wird aufgerufenCloud Config.
Cloud Providers - Um bestimmte Cloud-Anbieter anzusprechen, können wir eine bestimmte Konfigurationsdatei verwenden, die sich in /etc/salt/cloud.providers.d/*.conf befindet. Diese werden als bezeichnet Cloud Providers.
Cloud Profiles - Um auf eine bestimmte VM abzuzielen, können wir auch eine spezielle Konfigurationsdatei verwenden, die nur für diese bestimmte VM gilt und sich unter /etc/salt/cloud.profiles.d/*.conf befindet. Diese werden als bezeichnet Cloud Profiles.
Für eine virtuelle Maschine Einstellungen in der Cloud Config wird zuerst angewendet und dann in der Cloud Providers und schließlich wird das Überschreiben von der durchgeführt Cloud Profiles.
Installation von Salt Cloud
Standardmäßig ist Salt Cloud in das Salt integriert und sofort verfügbar. Wenn es nicht verfügbar ist, können wir es mit dem folgenden Befehl installieren.
pip install salt-cloud
Da Salt Cloud ein separates Modul ist und in einem eigenen Prozess ausgeführt wird, kann es anstelle des Salt Master auch im Salt Minion-System installiert werden.
Bereitstellung einer virtuellen Maschine
Um eine virtuelle Maschine bereitzustellen, müssen wir einen Cloud-Anbieter und ein Cloud-Profil definieren. Sobald beide erstellt sind, können wir eine neue virtuelle Maschine für deren Verwendung bereitstellen.
Cloud-Anbieter
Cloud-Host-Informationen werden in der Konfigurationsdatei des Cloud-Anbieters konfiguriert. Normalerweise sind die grundlegenden Informationen, die konfiguriert werden müssen, Cloud-Treiber, Benutzername, Kennwort, privater Schlüssel usw. Erstellen wir einen neuen Cloud-Anbieter mit dem Namenmy-amazon-cloud.
Erstellen Sie eine Datei, my-amazon-cloud.conf unter /etc/salt/cloud.providers.d/
Fügen Sie einen neuen Anbieter hinzu, indem Sie die ec2 Treiber.
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 bietet sofort einsatzbereite Treiber für verschiedene Cloud-Hosts wie GoGrid, HP Cloud, Google Compute Engine (GCE), Amazon AWS, Joyent, Linode, OpenNebula, ProfitBricks, Proxmox, Saltify, VexxHost, VMWare usw.
Sobald die Cloud-Anbieter konfiguriert sind, können wir den verfügbaren Standort des Anbieters, die verfügbaren Maschinenabbilder und seine verschiedenen Größen abfragen.
salt-cloud --list-location my-amazon-cloud
salt-cloud --list-images my-amazon-cloud
salt-cloud --list-sizes my-amazon-cloud
Cloud-Profil
Ein Cloud-Profil gibt das Image und die Größe der virtuellen Maschine an. Es kann unter - /etc/salt/cloud.profiles.d/ konfiguriert werden. Lassen Sie uns ein einfaches Profil erstellen,simple.conf.
aws_micro:
provider: my-amazon-cloud
image: <image_id>
size: <machine_id e.g. t1.micro>
Virtuelle Maschine
Sobald der Anbieter und die Profile konfiguriert sind, können wir mithilfe der Salt-Cloud wie unten gezeigt problemlos eine virtuelle Maschine bereitstellen.
salt-cloud -p aws_micro master minion1 minion2
Wo, p - Profilname master, minion1 und minion2 sind die neuen virtuellen Maschinen.
Die Details der neu erstellten virtuellen Maschine können mit dem folgenden Befehl abgerufen werden.
salt-cloud --query
Die virtuellen Maschinen können mit dem folgenden Befehl zerstört werden:
slat-cloud -d master minion1
Wolkenkarte
Eine Cloud Map ist ein spezielles Format zum gleichzeitigen Erstellen mehrerer virtueller Maschinen. Das Format der Zuordnungsdatei besteht darin, das Profil anzugeben und anschließend eine Liste der virtuellen Maschinen darunter hinzuzufügen.
Eine Beispielkartendatei lautet wie folgt:
micro:
- web1
- web2
large:
- db1
- db2
Die Zuordnungsdatei kann als Argument an den Befehl salt-cloud übergeben werden, um die virtuelle Maschine wie folgt zu erstellen:
salt-cloud -m /path/to/mapfile