編寫 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 在繼續之前等待建立伺服器。