Salt Cloud功能已經內置於Salt中,而運行Salt Cloud的最簡單方法是直接在Salt Master上使用它。
請注意,如果您是通過Salt Bootstrap安裝Salt的,則可能沒有爲您自動安裝salt-cloud
。 請使用操作系統發行版本的軟件包管理器從用於安裝Salt軟件的同一存儲庫中安裝繼續salt-cloud
軟件包。 這些存儲庫將由Salt Bootstrap自動設置。
或者,可以在安裝Salt時將-L
選項傳遞給Salt Bootstrap腳本。-L
選項將安裝salt-cloud
和所需的libcloud
軟件包。
本快速入門將引導您完成設置雲平臺和定義一些要創建的虛擬機的基本步驟。
注意:Salt Cloud有其自身的進程,並且不依賴於Salt Master,因此可以將其安裝在獨立的Minion上,而不是安裝在Salt Master上。
Define a Provider - 定義提供者
第一步是爲您的雲平臺添加身份憑據。 雲平臺提供的憑據和其他設置都是存儲在provider程序配置文件中。 Provider程序配置包含連接到雲平臺(例如EC2,GCE,Rackspace等)所需的詳細信息,以及您要在雲平臺minions上設置的任何全局選項(例如Salt Master的位置)。
在您的Salt Master上,瀏覽到/etc/salt/cloud.providers.d/
並創建一個名爲<provider>.conf
的文件,用ec2
、softlayer
等替換。 該名稱可幫助您識別內容,但並不重要,只要文件以.conf
結尾即可。
接下來,瀏覽 Provider specifics
章節的詳細信息,並將雲平臺的所有必需設置添加到此文件。 這是Amazon EC2的示例:
my-ec2:
driver: ec2
# Set the EC2 access credentials (see below)
#
id: 'HJGRYCILJLKJYG'
key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
# Make sure this key is owned by root with permissions 0400.
#
private_key: /etc/salt/my_test_key.pem
keyname: my_test_key
securitygroup: default
# Optional: Set up the location of the Salt Master
#
minion:
master: saltmaster.example.com
所需的配置因雲平臺而異,因此請確保您閱讀了Provider specifics
章節的詳細信息。
List Cloud Provider Options - 查看雲平臺提供者的配置選項
現在,您可以查詢配置的雲提供商以獲取可用的區域、鏡像和大小。 設置VM配置文件時將使用此信息。
salt-cloud --list-locations <provider_name> # my-ec2 in the previous example
salt-cloud --list-images <provider_name>
salt-cloud --list-sizes <provider_name>
將<provider_name>
替換爲您定義的provider配置的名稱。
##Create VM Profiles - 創建VM虛機的Profiles配置文件
在您的Salt Master上,瀏覽到/etc/salt/cloud.profiles.d/
並創建一個名爲<profile>.conf
的文件,用ec2
、softlayer
等替換<profile>
。 該文件必須以.conf
結尾。
現在,您可以將要定義的任何自定義配置文件添加到此文件中。 這裏有一些例子:
micro_ec2:
provider: my-ec2
image: ami-d514f291
size: t1.micro
medium_ec2:
provider: my-ec2
image: ami-d514f291
size: m3.medium
large_ec2:
provider: my-ec2
image: ami-d514f291
size: m3.large
注意,在profile配置文件中的provider
與我們定義的提供程序名稱匹配嗎? 這就是Salt Cloud知道如何連接到雲平臺以創建具有這些屬性的VM的方式。
Create VMs - 創建虛機
通過使用以下選項調用salt-cloud
創建VM:
salt-cloud -p <profile> <name1> <name2> ...
例如:
salt-cloud -p micro_ec2 minion1 minion2
Destroy VMs - 銷燬虛機
添加-d
參數以及需要銷燬處理的minions name。
salt-cloud -d minion1 minion2
Query VMs - 查詢虛機信息
您可以查看有關使用--query
創建的VM的詳細信息:
salt-cloud --query
Cloud Map
既然您知道如何創建和存儲單個VM,那麼接下來,您應該學習如何使用cloud map
一次創建多個VM。
Cloud Map
使您可以定義基礎結構圖並快速配置任意數量的VMs。 在隨後的運行中,將創建所有不存在的VM,並保留已配置的VMs不變。
See Cloud Map File