📜  SaltStack-用于云基础架构的Salt

📅  最后修改于: 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