Ansible基於playbook批量修改主機名docker
安裝Ansible,相信這裏也不用多說,你們都知道shell
說一下環境:這裏的主機名是修改以後的,我先把其餘兩臺的主機名改成別的vim
192.168.30.21 主機名jenkins 安裝Ansible 192.168.30.22 主機名docker 192.168.30.23 主機名repository
1.這裏須要安裝Ansible須要用到阿里雲的yum倉庫app
[root@jenkins]# wget -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo --2019-05-31 09:43:15-- https://mirrors.aliyun.com/repo/Centos-7.repo 正在解析主機 mirrors.aliyun.com (mirrors.aliyun.com)... 121.22.232.218, 121.22.232.211, 221.194.147.226, ... 正在鏈接 mirrors.aliyun.com (mirrors.aliyun.com)|121.22.232.218|:443... 已鏈接。 已發出 HTTP 請求,正在等待迴應... 200 OK 長度:2523 (2.5K) [application/octet-stream] 正在保存至: 「/etc/yum.repos.d/aliyun.repo」 100%[=========================================================>] 2,523 --.-K/s 用時 0s 2019-05-31 09:43:16 (154 MB/s) - 已保存 「/etc/yum.repos.d/aliyun.repo」 [2523/2523])
[root@jenkins yum.repos.d]# yum -y clean all [root@jenkins yum.repos.d]# yum makecache
2.安裝Ansible自動化運維工具運維
[root@jenkins]# yum -y install ansible
3.修改/etc/ansible/hosts文件ssh
添加另外兩臺的IP+要完成修改的主機名+端口號+用戶名+登陸密碼ide
[root@jenkins ~]# vim /etc/ansible/hosts [test] 192.168.30.22 hostname=docker ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=666666 192.168.30.23 hostname=repository ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=666666
4.編寫playbook劇本工具
[root@jenkins ~]# vim name.yml - hosts: test remote_user: root tasks: - name: change name raw: "echo {{hostname|quote}} > /etc/hostname" - name: shell: hostname {{hostname|quote}}
5.執行playbook -C 是預執行,若是沒有報錯就直接執行阿里雲
[root@jenkins ~]# ansible-playbook -C name.yml [root@jenkins ~]# ansible-playbook name.yml
PLAY [test] ***code
TASK [Gathering Facts] ****
ok: [192.168.30.23]
ok: [192.168.30.22]
TASK [change name] ****
changed: [192.168.30.22]
changed: [192.168.30.23]
TASK [command] ****
changed: [192.168.30.23]
changed: [192.168.30.22]
PLAY RECAP ****
192.168.30.22 : ok=3 changed=2 unreachable=0 failed=0
192.168.30.23 : ok=3 changed=2 unreachable=0 failed=0
6.查看是否已經修改爲功,沒問題,咱們的主機名已經修改好了yes
[root@jenkins ~]# ansible test -m shell -a "hostname" 192.168.30.23 | SUCCESS | rc=0 >> repository 192.168.30.22 | SUCCESS | rc=0 >> docker