a stray sheep

お仕事周りの雑記帳

localhostに対してAnsibleを使ういう

Local Playbooks


ローカルで全体のPlaybookを実行するには、hosts: 行に "hosts: 127.0.0.1"をセットするだけ。そして、それからplaybookを実行する:

$ ansible-playbook playbook.yml --connection=local

代わりに、ローカル接続は、1つのPlaybookのplayで使われる。Playbook内の他のplayはデフォルトのリモート接続タイプを使うけれども、

和訳がめちゃくちゃなのだが、要はこういうこと

---
- hosts: localhost
  connection: local
  tasks:
  // あとは普通にタスクを書く

Cobbler

 OSのクリーンインストールにCobblerというOSSが使えると聞いたので早速、少し調べてみる。

Cobbler - Linux install and update server

Cobbler is a Linux installation server that allows for rapid setup of network installation environments. It glues together and automates many associated Linux tasks so you do not have to hop between many various commands and applications when deploying new systems, and, in some cases, changing existing ones. Cobbler can help with provisioning, managing DNS and DHCP, package updates, power management, configuration management orchestration, and much more.

 Cobblerは、ネットワークインストール環境の高速なセットアップを行うLinux インストールサーバである。

多くの関連するLinuxのタスクをつなげて自動化する。システムのデプロイや変更などで、いろんなコマンドやアプリケーションを横断する必要はない。Cobblerはプロビジョニング、DNS/DHCPの管理、パッケージの更新、電源、設定などなど多くのことができる。

 

How does cobbler help?

自動化の鍵は、スピード、一貫性(consistency)、繰り返し。これらはインフラの管理にとって重要で、それはサーバの構成が数台か数千台かによらない。Cobblerは、ベアメタルのサーバプロビジョニングの自動化も、いろいろなHypervisorへの仮想マシンのデプロイも助けてくれる。

 

 Cobbler Quickstart Guide

Cobblerは、広くさまざまな技術で構成されるので、始めるのには幾分複雑なシステムである。カスタマイズは必要なくインストール後すぐに使える(?)。ただPXEやそれぞれの自動化方法論についての知識はもっておくべきだ。

 このガイドでは、RedHat kickstartプロセスにフォーカスし、ステップはFedoraである。UbuntuSuSEなどは将来に対応予定。あとは、CLIアプリケーションに説明しているが、Cobbler Web UIなるものもある(説明はしてない)。

 

 

OpenJDK1.7+Tomcat8

OpenJDKのインストール

$ yum search openjdk
$ sudo yum install java-1.7.0-openjdk.x86_64

Tomcatのインストール

$ wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz
$ mv apache-tomcat-8.0.39.tar.gz /opt
$ cd /opt
$ sudo gunzip apache-tomcat-8.0.39.tar.gz
apache-tomcat-8.0.39.tar
$ sudo tar apache-tomcat-8.0.39.tar
apache-tomcat-8.0.39/
$ sudo ln -s apache-tomcat-8.0.39 tomcat8
$ cd tomcat8
$ sudo bin/catalina.sh start

Windows10にVirtualBoxをインストール

インストールしたもの

インストール手順

手順はこちらを参照

qiita.com

 

 

5系は、Win10に対応しておらず、というか対応したと言っているのにインストールできなくて・・・VirtualBox4系を使っていたけども、新版でもいけるんですね。

 

AnsibleでLoopを使う

 PlaybookでLoopを使う方法

http://docs.ansible.com/playbooks_loops.html#loops からの抜粋

 

標準ループ

変数ファイルもしくはvarsセクションで、YAMLのリストを定義した場合は、以下のようにする。

with_items: somelist

hashのリスト

-  name: add several users

   user: name={{ item.name }} state=present group={{ item.groups }}

   with_items:

      - { name: 'testuser1',  groups: 'wheel' }

      - { name: 'testuser2',  groups: 'root' }

 

 

ネステッドループ

-  name: give users access to multiple database

   mysql_user: name={{ item[0] }} priv={{ item[1] }}.*:ALL append_privs=yes

   with_nested:

      -  [ 'alice',  'bob',  'eve' ]

      -  [ 'clientdb',  'employeedb',  'providerdb' ]

     上記実行の場合の組み合わせ。
       item[0] : item[1] 

alice : clientdb
alice : employeedb
alice : providerdb 
bob : clientdb
bob : employeedb
bob : providerdb
eve : clientdb
eve : employeedb
eve : providerdb

 

 vars:
    users:
      -  name:  test1.txt
      -  name:  test2.txt
tasks:
    -  name: file copy
       copy: src=/tmp/src/{{ item.name }} dest=/tmp/dst/{{ item.name }}

       with_items: users

 

 

 

Ansibleのインストール

 

Ansibleのインストール方法

 公式:http://docs.ansible.com/intro_installation.html

  • ソースからの実行 -省略-
  • Yum経由
    EPEL6からインストールする。Fedoraユーザは直接インストール可能。RHEL or CentOSなら、EPELを設定しよう。
  • Apt経由 -省略-
  • Pip経由

Yum経由

1.EPELの設定

公式
https://fedoraproject.org/wiki/EPEL#What_is_Extra_Packages_for_Enterprise_Linux_.28or_EPEL.29.3F

http://ftp.riken.jp/Linux/fedora/epel/6/i386/repoview/epel-release.html

# wget http://http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# rpm -ivh epel-release-6-8.noarch.rpm

 2.ansibleのインストール

 # yum install ansible

 インストールで入るパッケージ

  - PyYAML
  - libyaml
  - python-babel
  - python-jinja2
  - python-keyczar
  - python-pyasn1
 

Pip経由

1.pipのインストール

# easy_install pip

2.ansibleのインストール

# pip install ansible