SaltStack - Muối cho cơ sở hạ tầng đám mây

Muối cung cấp một mô-đun riêng biệt, Salt Cloud để cung cấp các máy ảo của nhiều nhà cung cấp đám mây khác nhau như Amazon AWS, Google Compute, v.v. Salt Cloud là một giao diện chung để định cấu hình và quản lý máy ảo của nhiều nhà cung cấp đám mây khác nhau.

  • Cloud Config- Tệp cấu hình chính cho Salt Cloud là / etc / salt / cloud và nó áp dụng cho tất cả các máy ảo. Tệp cấu hình chính được gọi làCloud Config.

  • Cloud Providers - Để nhắm mục tiêu các nhà cung cấp đám mây cụ thể, chúng tôi có thể sử dụng tệp cấu hình cụ thể và chúng được đặt trong /etc/salt/cloud.providers.d/*.conf, chúng được gọi là Cloud Providers.

  • Cloud Profiles - Để nhắm mục tiêu một máy ảo cụ thể, chúng tôi cũng có thể sử dụng tệp cấu hình đặc biệt, chỉ áp dụng cho máy ảo cụ thể đó và chúng được đặt tại /etc/salt/cloud.profiles.d/*.conf, chúng được gọi là Cloud Profiles.

Đối với máy ảo, cài đặt trong Cloud Config được áp dụng đầu tiên và sau đó trong Cloud Providers và cuối cùng ghi đè được thực hiện bởi Cloud Profiles.

Cài đặt đám mây muối

Theo mặc định, Salt Cloud được tích hợp sẵn trong Salt và có sẵn. Nếu nó không có sẵn, chúng ta có thể cài đặt nó bằng cách sử dụng lệnh bên dưới.

pip install salt-cloud

Vì Salt Cloud là một mô-đun riêng biệt và chạy trong quy trình riêng của nó, nó có thể được cài đặt trong hệ thống Salt Minion thay vì Salt Master.

Cấp phép Máy ảo

Để cung cấp một máy ảo, chúng ta cần xác định một nhà cung cấp đám mây và một hồ sơ đám mây. Sau khi cả hai được tạo, chúng tôi có thể cung cấp một máy ảo mới để sử dụng nó.

Nhà cung cấp đám mây

Thông tin máy chủ lưu trữ đám mây được định cấu hình trong tệp cấu hình nhà cung cấp Đám mây. Thông thường, thông tin cơ bản cần được định cấu hình là trình điều khiển đám mây, tên người dùng, mật khẩu, khóa riêng, v.v. Hãy để chúng tôi tạo một nhà cung cấp đám mây mới có tên làmy-amazon-cloud.

  • Tạo một tệp, my-amazon-cloud.conf trong /etc/salt/cloud.providers.d/

  • Thêm nhà cung cấp mới bằng cách sử dụng ec2 người lái xe.

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 cung cấp trình điều khiển cho nhiều máy chủ đám mây khác nhau, chẳng hạn như GoGrid, HP Cloud, Google Compute Engine (GCE), Amazon AWS, Joyent, Linode, OpenNebula, ProfitBricks, Proxmox, Saltify, VexxHost, VMWare, v.v.

Khi các nhà cung cấp đám mây được định cấu hình, chúng tôi có thể truy vấn vị trí có sẵn của nhà cung cấp, hình ảnh máy có sẵn và các kích thước khác nhau của nó.

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

Cấu hình đám mây

Cấu hình đám mây chỉ định hình ảnh và kích thước máy ảo. Nó có thể được định cấu hình theo - /etc/salt/cloud.profiles.d/. Hãy để chúng tôi tạo một hồ sơ đơn giản,simple.conf.

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

Máy ảo

Sau khi nhà cung cấp và cấu hình được định cấu hình, chúng tôi có thể dễ dàng cung cấp một máy ảo bằng cách sử dụng đám mây muối như hình dưới đây.

salt-cloud -p aws_micro master minion1 minion2

Ở đâu, p - Hồ sơ tên master, minion1 và minion2 là các máy ảo mới.

Các chi tiết của máy ảo mới được tạo có thể được lấy bằng cách sử dụng lệnh sau.

salt-cloud --query

Các máy ảo có thể bị phá hủy bằng lệnh sau:

slat-cloud -d master minion1

Bản đồ đám mây

Bản đồ đám mây là một định dạng đặc biệt để tạo nhiều máy ảo cùng một lúc. Định dạng của tệp bản đồ là chỉ định cấu hình và sau đó thêm danh sách các máy ảo bên dưới nó.

Một tệp bản đồ mẫu như sau:

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

Tệp bản đồ có thể được chuyển làm đối số cho lệnh salt-cloud để tạo máy ảo như sau:

salt-cloud -m /path/to/mapfile