编写 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 网络面板上显示可能的值 ; 变量接受图像名称或 UUID
- key_name是创建后添加到服务器的公钥的名称; 这可以是已经添加到 DreamCompute 的任何键。
- flavor是启动服务器的味道; 这定义了服务器将拥有多少 RAM 和 CPU; 变量接受 flavor 的名称(gp1.semisonic)或 ID(50,100,200 等)
- network是放置服务器的网络。在 DreamHost Cloud 案例中,它是- public网络。
- wait设置为 yes 强制 playbook 在继续之前等待创建服务器。