ansible
DreamHostクラウドサーバーを作成する方法
サーチ…
Shadeライブラリをインストールする
Shadeは、OpenStackによって開発されたDreamHostのようなOpenStackクラウドとのやりとりを単純化するために開発されたライブラリです。
$ pip install shade
サーバーを起動するためのブックを作成する
launch-server.yaml
という名前のファイルを作成します。これは私たちのプレイブックになります。
プレイブックの最初の部分は、プレイブックが実行されるホストのリストです。ローカルホストは1つだけです。
- hosts: localhost
次に、このプレイブックで実行するタスクのリストを定義する必要があります。 DreamComputeにUbuntu Xenialサーバーを立ち上げるサーバーが1つだけあります。
tasks:
- name: launch an Ubuntu server
os_server
次の部分では、 os_server
(OpenStack Server)モジュールを使用しています。これは、DreamComputeでサーバがどのように見えるかを定義します。
os_server:
最初のステップは、DreamComputeへの認証です。あなたのDreamComputeユーザー名に{username}
を、DreamCompute {password}
に{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 Webパネルで表示されます。変数はイメージ名またはUUIDのどちらかを受け取ります -
key_name
は、作成後にサーバーに追加する公開鍵の名前です。これはDreamComputeに既に追加されている任意のキーにすることができます。 -
flavor
は、サーバーを起動する風味です。これはあなたのサーバが持つRAMとCPUの量を定義します。変数はフレーバーの名前(gp1.semisonic)またはID(50,100,200など)のいずれかを受け取ります。 -
network
はあなたのサーバを置くnetwork
です。 DreamHostクラウドの場合は、public
ネットワークです。 -
wait
をyesに設定すると、続行する前にサーバーが作成されるのを待つように強制されます。
プレイブックの実行
Ansibleプレイブックを実行します。
$ ansible-playbook launch-server.yaml
次のような出力が表示されます。
PLAY [localhost]
***************************************************************
TASK [setup]
*******************************************************************
ok: [localhost]
TASK [launch an Ubuntu server]
***********************************************
changed: [localhost]
PLAY RECAP
*********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
DreamHost Cloudのダッシュボードを確認すると、 "ansible-vm1"という名前の新しいインスタンスが表示されます。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow