SaltStack - Salt untuk Infrastruktur Cloud

Salt menyediakan modul terpisah, Salt Cloud untuk menyediakan mesin virtual dari berbagai penyedia cloud seperti Amazon AWS, Google Compute, dll. Salt Cloud adalah antarmuka umum untuk mengonfigurasi dan mengelola VM dari berbagai penyedia cloud.

  • Cloud Config- File konfigurasi utama untuk Salt Cloud adalah / etc / salt / cloud dan ini berlaku untuk semua VM. File konfigurasi utama dipanggilCloud Config.

  • Cloud Providers - Untuk menargetkan penyedia cloud tertentu, kita dapat menggunakan file konfigurasi tertentu dan mereka berada di /etc/salt/cloud.providers.d/*.conf, ini disebut sebagai Cloud Providers.

  • Cloud Profiles - Untuk menargetkan VM tertentu, kita juga dapat menggunakan file konfigurasi khusus, yang hanya berlaku untuk VM tersebut dan terletak di /etc/salt/cloud.profiles.d/*.conf, ini disebut sebagai Cloud Profiles.

Untuk mesin virtual, pengaturan di Cloud Config diterapkan terlebih dahulu dan kemudian di Cloud Providers dan akhirnya penggantian dilakukan oleh Cloud Profiles.

Pemasangan Salt Cloud

Secara default, Salt Cloud dibangun ke dalam Salt dan sudah tersedia. Jika tidak tersedia, kita dapat menginstalnya dengan menggunakan perintah di bawah ini.

pip install salt-cloud

Karena Salt Cloud adalah modul terpisah dan berjalan dalam prosesnya sendiri, itu dapat diinstal di sistem Salt Minion juga sebagai pengganti Salt Master.

Menyediakan Mesin Virtual

Untuk menyediakan mesin virtual, kita perlu menentukan penyedia cloud dan profil cloud. Setelah keduanya dibuat, kami dapat menyediakan mesin virtual baru untuk menggunakannya.

Penyedia Cloud

Informasi host cloud dikonfigurasi di file konfigurasi penyedia Cloud. Biasanya, informasi dasar, yang perlu dikonfigurasi adalah driver cloud, nama pengguna, kata sandi, kunci pribadi, dll. Mari kita buat penyedia cloud baru bernama sebagaimy-amazon-cloud.

  • Buat file, my-amazon-cloud.conf di bawah /etc/salt/cloud.providers.d/

  • Tambahkan penyedia baru menggunakan ec2 sopir.

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 menyediakan driver untuk berbagai host cloud di luar kotak, seperti GoGrid, HP Cloud, Google Compute Engine (GCE), Amazon AWS, Joyent, Linode, OpenNebula, ProfitBricks, Proxmox, Saltify, VexxHost, VMWare, dll.

Setelah penyedia cloud dikonfigurasi, kami dapat menanyakan lokasi penyedia yang tersedia, image mesin yang tersedia, dan berbagai ukurannya.

salt-cloud --list-location my-amazon-cloud
salt-cloud --list-images my-amazon-cloud
salt-cloud --list-sizes my-amazon-cloud

Profil Cloud

Profil Cloud menentukan gambar dan ukuran mesin virtual. Ini dapat dikonfigurasi di bawah - /etc/salt/cloud.profiles.d/. Mari kita buat profil sederhana,simple.conf.

aws_micro:
   provider: my-amazon-cloud
   image: <image_id>
   size: <machine_id e.g. t1.micro>

Mesin virtual

Setelah penyedia dan profil dikonfigurasi, kami dapat dengan mudah menyediakan mesin virtual menggunakan salt-cloud seperti yang ditunjukkan di bawah ini.

salt-cloud -p aws_micro master minion1 minion2

Dimana, p - Master nama profil, minion1 dan minion2 adalah mesin virtual baru.

Detail mesin virtual yang baru dibuat dapat diperoleh dengan menggunakan perintah berikut.

salt-cloud --query

Mesin virtual dapat dihancurkan menggunakan perintah berikut -

slat-cloud -d master minion1

Cloud Map

Cloud Map adalah format khusus untuk membuat beberapa mesin virtual sekaligus. Format file peta adalah untuk menentukan profil dan kemudian menambahkan daftar mesin virtual di bawahnya.

Contoh file peta adalah sebagai berikut -

micro:
   - web1
   - web2
large:
   - db1
   - db2

File peta dapat diteruskan sebagai argumen ke perintah salt-cloud untuk membuat mesin virtual sebagai berikut -

salt-cloud -m /path/to/mapfile