📅  最后修改于: 2020-10-31 14:27:09             🧑  作者: Mango
Salt提供了一个单独的模块, Salt Cloud提供了各种云提供商(例如Amazon AWS,Google Compute等)的虚拟机。SaltCloud是用于配置和管理各种云提供商的VM的通用接口。
Cloud Config-盐云的主要配置文件是/ etc / salt / cloud,它适用于所有VM。主要配置文件称为Cloud Config 。
云提供商-要定位特定的云提供商,我们可以使用特定的配置文件,它们位于/etc/salt/cloud.providers.d/*.conf中,它们被称为云提供商。
Cloud Profiles-要定位到特定的VM,我们还可以使用一个特殊的配置文件,该文件仅适用于该特定VM,它们位于/etc/salt/cloud.profiles.d/*.conf中,这些文件称为Cloud型材。
对于虚拟机,首先应用Cloud Config中的设置,然后再应用Cloud Providers中的设置,最后通过Cloud Profiles完成覆盖。
默认情况下,Salt内置了Salt Cloud,并且随时可用。如果它不可用,我们可以使用下面的命令来安装它。
pip install salt-cloud
由于盐云是一个单独的模块,并以其自己的进程运行,因此它也可以安装在盐小仆系统中,而不是盐主。
要供应虚拟机,我们需要定义云提供商和云配置文件。一旦创建了两者,我们就可以配置一个新的虚拟机来使用它。
云主机信息在云提供程序配置文件中配置。通常,需要配置的基本信息是云驱动程序,用户名,密码,私钥等。让我们创建一个名为my-amazon-cloud的新云提供程序。
在/etc/salt/cloud.providers.d/下创建文件my-amazon-cloud.conf。
使用ec2驱动程序添加新的提供程序。
my-amazon-cloud:
driver: ec2
id: ''
key: ''
private_key: /path/to/privatekey.pem
keyname:
securitygroup: default
minion:
master:
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:
size:
配置提供程序和配置文件后,我们可以使用盐云轻松提供虚拟机,如下所示。
salt-cloud -p aws_micro master minion1 minion2
其中, p –配置文件名称主文件,minion1和minion2是新的虚拟机。
可以使用以下命令获取新创建的虚拟机的详细信息。
salt-cloud --query
可以使用以下命令销毁虚拟机-
slat-cloud -d master minion1
云地图是一种特殊的格式,可以一次创建多个虚拟机。映射文件的格式是指定配置文件,然后在其下添加虚拟机列表。
示例地图文件如下-
micro:
- web1
- web2
large:
- db1
- db2
可以将映射文件作为参数传递给salt-cloud命令,以创建虚拟机,如下所示:
salt-cloud -m /path/to/mapfile