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