ansibleを使ってみた
NTPパッケージをアップデートしてみる
以下の構成で検証
管理サーバ:sigure
対象サーバ:yuzuki
前提条件
今回ansibleユーザーで通信し、rootにsudoを行って、update作業を行うます。
上記から分かる通り、
・ansibleユーザでのログイン
・ansible→rootへのsudo
の権限が必要となります。
事前に、SSHのノンパスログインと、sudoコマンドもNOPASSWDを付けておきます。
hostsをつくる
$ cd /etc/ansible
$ cp -pi hosts{,.org}
$ cat << EOF > hosts
[testserver]
yuzuki.fr.taterole.net
EOF
playbookをつくる
$ mkdir playbook
$ cat << EOF > test.yml
- name: ntp update
hosts: testserver
remote_user: ansible
sudo: yes
vars:
pkg: ntp
tasks:
- name: yum clean
shell: yum clean all
- name: before-check
shell: yum list "{{pkg}}"
register: before_check
- debug: msg="{{before_check.stdout_lines}}"
- name: update "{{pkg}}"
yum: name="{{pkg}}" state=latest
- name: Check again
shell: yum list "{{pkg}}"
register: after_check
- debug: msg="{{after_check.stdout_lines}}"
実行してみる
$ pwd================================================================================
/etc/ansible
================================================================================
$ ansible-playbook -i hosts playbook/test.yml
================================================================================
[WARNING]: The version of gmp you have installed has a known issue regarding
timing vulnerabilities when used with pycrypto. If possible, you should update
it (i.e. yum update gmp).
PLAY [ntp update] *************************************************************
GATHERING FACTS ***************************************************************
ok: [yuzuki.fr.taterole.net]
TASK: [yum clean] *************************************************************
changed: [yuzuki.fr.taterole.net]
TASK: [before-check] **********************************************************
changed: [yuzuki.fr.taterole.net]
TASK: [debug msg="{{before_check.stdout_lines}}"] *****************************
ok: [yuzuki.fr.taterole.net] => {
"msg": "['Loaded plugins: priorities, update-motd, upgrade-helper', 'Installed Packages', 'ntp.x86_64 4.2.6p5-27.23.amzn1 installed']"
}
TASK: [update "{{pkg}}"] ******************************************************
ok: [yuzuki.fr.taterole.net]
TASK: [Check again] ***********************************************************
changed: [yuzuki.fr.taterole.net]
TASK: [debug msg="{{after_check.stdout_lines}}"] ******************************
ok: [yuzuki.fr.taterole.net] => {
"msg": "['Loaded plugins: priorities, update-motd, upgrade-helper', 'Installed Packages', 'ntp.x86_64 4.2.6p5-27.23.amzn1 installed']"
}
PLAY RECAP *****************************************************************
================================================================================
こんな感じで実行される。(例によって冒頭のWARNINGはシカトしてください)
----
おわり
0 件のコメント:
コメントを投稿