编写 Playbook 以启动服务器
创建一个名为 launch-server.yaml
的文件,这将是我们的剧本。
该剧本的第一部分是你的剧本将在其上运行的主持人列表,我们只有一个本地主机。
- hosts: localhost
然后我们需要定义要在此剧本中执行的任务列表。我们只会在 DreamCompute 上启动一个 Ubuntu Xenial 服务器。
tasks:
- name: launch an Ubuntu server
该剧本的下一部分使用了 os_server
(OpenStack Server)模块。这定义了 DreamCompute 中服务器的外观。
os_server:
第一步是对 DreamCompute 进行身份验证; 用你的 DreamCompute 用户名替换 {username}
,用 DreamCompute 密码替换 {password}
,用 DreamCompute 项目替换 {project}
。你会在 OpenStack RC 文件中找到它们。
auth:
auth_url: https://iad2.dream.io:5000
username: {username}
password: {password}
project_name: {project}
下一行定义新服务器的一些元素。
state: present
name: ansible-vm1
image: Ubuntu-16.04
key_name: {keyname}
flavor: 50
network: public
wait: yes
让我们分解前几行:
state
是服务器的状态,可能的值是present
或absent
name
是要创建的服务器的名称; 可以是任何价值image
是从中引导服务器的映像; DreamHost Cloud 网络面板上显示可能的值 ; 变量接受图像名称或 UUIDkey_name
是创建后添加到服务器的公钥的名称; 这可以是已经添加到 DreamCompute 的任何键。flavor
是启动服务器的味道; 这定义了服务器将拥有多少 RAM 和 CPU; 变量接受 flavor 的名称(gp1.semisonic)或 ID(50,100,200 等)network
是放置服务器的网络。在 DreamHost Cloud 案例中,它是public
网络。wait
设置为 yes 强制 playbook 在继续之前等待创建服务器。