読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

ansible使ってみる

ansible

docker使う。

FROM debian:wheezy

ADD sources.list /etc/apt/sources.list
ADD preferences /etc/apt/preferences
RUN apt-get update -y && apt-get dist-upgrade -fy


RUN apt-get install -fy automake build-essential \
    python python-dev python-setuptools python-pip
RUN pip install ansible

RUN apt-get install -fy openssh-client openssh-server sshpass


RUN apt-get install -fy sudo
RUN useradd -m -d /qoo -s /bin/bash -G sudo qoo
RUN echo 'qoo:qoo' | chpasswd
USER qoo
WORKDIR /qoo
ENV HOME /qoo

ansibleはpipでインストール。
sshで接続するときにパスワード使う場合はsshpassが必要らしい。

とりあえずローカルホストに接続して試してみる。

% cat hosts 
127.0.0.1
% cat p.yml
- hosts: 127.0.0.1
  remote_user: qoo
  sudo: yes
  tasks:
  - name: install vim
    apt: pkg=vim state=latest
qoo@cd7406f7380c:~$ ansible -k -K -i hosts 127.0.0.1 -m ping
SSH password: 
sudo password [defaults to SSH password]: 
127.0.0.1 | success >> {
    "changed": false, 
    "ping": "pong"
}

qoo@cd7406f7380c:~$ ansible-playbook -k -K -i hosts p.yml
SSH password: 
sudo password [defaults to SSH password]: 

PLAY [127.0.0.1] ************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [127.0.0.1]

TASK: [install vim] *********************************************************** 
changed: [127.0.0.1]

PLAY RECAP ******************************************************************** 
127.0.0.1                  : ok=2    changed=1    unreachable=0    failed=0   

sshで接続するのにパスワードを使うときは-k、そこからsudoするのにパスワードを使うときは-Kが必要。