サーチ…


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はサーバーの状態です。可能な値はpresentabsent
  • 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