Saltstack-salt-for-cloud-infrastructure
SaltStack-クラウドインフラストラクチャ用の塩
Saltは、Amazon AWS、Google Computeなどのさまざまなクラウドプロバイダーの仮想マシンを提供するための個別のモジュール Salt Cloud を提供します。 Salt Cloudは、さまざまなクラウドプロバイダーのVMを構成および管理するための汎用インターフェイスです。
- クラウド構成-Salt Cloudのメイン構成ファイルは/etc/salt/cloudであり、すべてのVMに適用されます。 メインの構成ファイルは Cloud Config と呼ばれます。
- クラウドプロバイダー-特定のクラウドプロバイダーをターゲットとするために、特定の構成ファイルを使用できます。これらのファイルは/etc/salt/cloud.providers.d/*.confにあり、これらは*クラウドプロバイダー*と呼ばれます。
- クラウドプロファイル-特定のVMをターゲットにするために、特別な構成ファイルを使用することもできます。これはその特定のVMにのみ適用され、/etc/salt/cloud.profiles.d/*。confにあり、これらは呼ばれます*クラウドプロファイル*として。
仮想マシンの場合、 Cloud Config の設定が最初に適用され、次に Cloud Providers の設定が適用され、最後に Cloud Profiles によって上書きされます。
Salt Cloudのインストール
デフォルトでは、Salt CloudはSaltに組み込まれており、すぐに使用できます。 利用できない場合は、以下のコマンドを使用してインストールできます。
pip install salt-cloud
Salt Cloudは独立したモジュールであり、独自のプロセスで実行されるため、Salt Masterの代わりにSalt Minionシステムにもインストールできます。
仮想マシンのプロビジョニング
仮想マシンをプロビジョニングするには、クラウドプロバイダーとクラウドプロファイルを定義する必要があります。 両方が作成されたら、それを使用するための新しい仮想マシンをプロビジョニングできます。
クラウドプロバイダー
クラウドホスト情報は、クラウドプロバイダー構成ファイルで構成されます。 通常、設定する必要がある基本情報は、クラウドドライバー、ユーザー名、パスワード、秘密キーなどです。 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