- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - 使用 Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Salt 与 Cron
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 云基础架构
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - Salt云基础架构
Salt 提供了一个单独的模块,Salt Cloud,用于提供各种云提供商(如 Amazon AWS、Google Compute 等)的虚拟机。Salt Cloud 是一个通用的接口,用于配置和管理各种云提供商的虚拟机。
云配置 (Cloud Config) − Salt Cloud 的主要配置文件是 /etc/salt/cloud,它适用于所有虚拟机。主要配置文件称为云配置 (Cloud Config)。
云提供商 (Cloud Providers) − 要定位特定的云提供商,我们可以使用特定的配置文件,它们位于 /etc/salt/cloud.providers.d/*.conf,这些称为云提供商 (Cloud Providers)。
云配置文件 (Cloud Profiles) − 要定位特定的虚拟机,我们也可以使用一个特殊的配置文件,它只适用于该特定的虚拟机,它们位于 /etc/salt/cloud.profiles.d/*.conf,这些称为云配置文件 (Cloud Profiles)。
对于虚拟机,首先应用云配置 (Cloud Config)中的设置,然后应用云提供商 (Cloud Providers)中的设置,最后由云配置文件 (Cloud Profiles)覆盖。
Salt Cloud 的安装
默认情况下,Salt Cloud 内置于 Salt 中,可以直接使用。如果不可用,我们可以使用以下命令安装它。
pip install salt-cloud
由于 Salt Cloud 是一个单独的模块,并在其自己的进程中运行,因此它可以安装在 Salt Minion 系统中,而不是 Salt Master。
配置虚拟机
要配置虚拟机,我们需要定义一个云提供商和一个云配置文件。创建两者后,我们可以配置一个新的虚拟机以供使用。
云提供商
云主机信息配置在云提供商配置文件中。通常,需要配置的基本信息包括云驱动程序、用户名、密码、私钥等。让我们创建一个名为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