SaltStack-クラウドインフラストラクチャ向けのSalt

Saltは別のモジュールを提供します。 Salt Cloud Amazon AWS、Google Computeなどのさまざまなクラウドプロバイダーの仮想マシンを提供します。SaltCloudは、さまざまなクラウドプロバイダーのVMを構成および管理するための汎用インターフェイスです。

  • Cloud Config− SaltCloudのメイン構成ファイルは/ etc / salt / cloudであり、すべてのVMに適用されます。メインの設定ファイルはCloud Config

  • Cloud Providers −特定のクラウドプロバイダーをターゲットにするために、特定の構成ファイルを使用できます。これらは/etc/salt/cloud.providers.d/*.confにあり、これらは次のように呼ばれます。 Cloud Providers

  • Cloud Profiles −特定のVMをターゲットにするために、その特定のVMにのみ適用され、/ etc / salt / cloud.profiles.d/*。confにある特別な構成ファイルを使用することもできます。これらは次のように呼ばれます。 Cloud Profiles

仮想マシンの場合、 Cloud Config 最初に適用され、次に Cloud Providers そして最後にオーバーライドはによって行われます Cloud Profiles

SaltCloudのインストール

デフォルトでは、Salt CloudはSaltに組み込まれており、すぐに利用できます。利用できない場合は、以下のコマンドを使用してインストールできます。

pip install salt-cloud

Salt Cloudは独立したモジュールであり、独自のプロセスで実行されるため、SaltMasterの代わりにSaltMinionシステムにインストールすることもできます。

仮想マシンのプロビジョニング

仮想マシンをプロビジョニングするには、クラウドプロバイダーとクラウドプロファイルを定義する必要があります。両方が作成されたら、それを使用するための新しい仮想マシンをプロビジョニングできます。

クラウドプロバイダー

クラウドホスト情報は、クラウドプロバイダー構成ファイルで構成されます。通常、構成する必要のある基本情報は、クラウドドライバー、ユーザー名、パスワード、秘密鍵などです。次の名前の新しいクラウドプロバイダーを作成しましょう。my-amazon-cloud

  • /etc/salt/cloud.providers.d/の下にファイルmy-amazon-cloud.confを作成します

  • を使用して新しいプロバイダーを追加します ec2 運転者。

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は、GoGrid、HP Cloud、Google Compute Engine(GCE)、Amazon AWS、Joyent、Linode、OpenNebula、ProfitBricks、Proxmox、Saltify、VexxHost、VMWareなどのさまざまなクラウドホスト用のドライバーをすぐに提供します。

クラウドプロバイダーを構成したら、プロバイダーの利用可能な場所、利用可能なマシンイメージ、およびそのさまざまなサイズをクエリできます。

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

クラウドプロファイル

クラウドプロファイルは、仮想マシンのイメージとサイズを指定します。– / etc / salt / cloud.profiles.d /で構成できます。簡単なプロファイルを作成しましょう。simple.conf

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

仮想マシン

プロバイダーとプロファイルを構成すると、以下に示すように、salt-cloudを使用して仮想マシンを簡単に提供できます。

salt-cloud -p aws_micro master minion1 minion2

どこ、 p –プロファイル名master、minion1およびminion2は新しい仮想マシンです。

新しく作成された仮想マシンの詳細は、次のコマンドを使用して取得できます。

salt-cloud --query

仮想マシンは、次のコマンドを使用して破棄できます-

slat-cloud -d master minion1

クラウドマップ

クラウドマップは、複数の仮想マシンを一度に作成するための特別な形式です。マップファイルの形式は、プロファイルを指定し、その下に仮想マシンのリストを追加することです。

サンプルマップファイルは次のとおりです-

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

次のように、マップファイルを引数としてsalt-cloudコマンドに渡して、仮想マシンを作成できます。

salt-cloud -m /path/to/mapfile