2018年8月13日月曜日

Ansibleでプロキシを指定してyum updateする

RHELやCentOSをインストールした際に、ソフトウェアの最新化を行うためにyum updateをすることがあると思うが、それをAnsibleで実行してみる。なお、今回プロキシを経由しなければインターネット接続ができない環境となっているため、環境変数にてプロキシを指定したうえで、yum updateする処理としてPlaybookを作成した。

Playbook

Playbookは以下の通り。varsセクションでproxy_envという変数を作成し、tasksセクションのyumの箇所で、その変数を環境変数として設定する。

update_all.yml
------------------------------
---
- hosts: all

  vars:

    proxy_env:
      http_proxy: http://192.168.33.23:8080/
      https_proxy: http://192.168.33.23:8080/
  tasks:
    - name: update all packages
      yum: name='*' state=latest
      environment: "{{ proxy_env }}"
------------------------------

ちなみに、このプロキシ設定の方法は、公式マニュアルにも記載されている。

Setting the Environment (and Working With Proxies)
https://docs.ansible.com/ansible/2.6/user_guide/playbooks_environment.html


実行結果

実行結果は以下の通り。

[root@t1000cent ~]# ansible-playbook update_all.yml
------------------------------
PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.11.241]

TASK [update all packages] *****************************************************
changed: [192.168.11.241]

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

処理対象サーバーのyumの実行結果を確認すると、きちんとアップデートが実行されていることがわかる。

[root@t1241cent ~]# tail -f /var/log/yum.log
------------------------------
Aug 10 15:32:58 Updated: nspr-4.19.0-1.el7_5.x86_64
Aug 10 15:32:58 Updated: nss-util-3.36.0-1.el7_5.x86_64
Aug 10 15:32:58 Updated: libgcc-4.8.5-28.el7_5.1.x86_64
Aug 10 15:32:58 Updated: libcom_err-1.42.9-12.el7_5.x86_64
Aug 10 15:33:00 Updated: python-libs-2.7.5-69.el7_5.x86_64
Aug 10 15:33:00 Updated: python-2.7.5-69.el7_5.x86_64

~(以下略)~
------------------------------


0 件のコメント:

コメントを投稿

人気の投稿