实战ansible-playbook
ansible playbook——剧本
准备前配置
ansible
[root@node13 yum.repos.d]# cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 << AE
> TYPE="Ethernet"
> BOOTPROTO="static"
> NAME="ens33"
> DEVICE="ens33"
> ONBOOT="yes"
> IPADDR=192.168.8.10
> GATEWAY=192.168.8.2
> DNS1=8.8.8.8
> AE
[root@node13 yum.repos.d]# ifdown ens33;ifup ens33
成功断开设备 "ens33"。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)
[root@node13 yum.repos.d]# hostnamectl set-hostname ansible
[root@node13 yum.repos.d]# bash
[root@ansible yum.repos.d]#
web
[root@node13 yum.repos.d]# cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 << AE
> TYPE="Ethernet"
> BOOTPROTO="static"
> NAME="ens33"
> DEVICE="ens33"
> ONBOOT="yes"
> IPADDR=192.168.8.20
> GATEWAY=192.168.8.2
> DNS1=8.8.8.8
> AE
[root@node13 yum.repos.d]# ifdown ens33;ifup ens33
成功断开设备 "ens33"。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@node13 yum.repos.d]# hostnamectl set-hostname web
[root@node13 yum.repos.d]# bash
[root@web yum.repos.d]#
nfs
[root@node13 yum.repos.d]# cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 << AE
> TYPE="Ethernet"
> BOOTPROTO="static"
> NAME="ens33"
> DEVICE="ens33"
> ONBOOT="yes"
> IPADDR=192.168.8.30
> GATEWAY=192.168.8.2
> DNS1=8.8.8.8
> AE
[root@node13 yum.repos.d]# ifdown ens33;ifup ens33
成功断开设备 "ens33"。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/9)
[root@node13 yum.repos.d]# hostnamectl set-hostname nfs
[root@node13 yum.repos.d]# bash
[root@nfs yum.repos.d]#
rsync
[root@node13 yum.repos.d]# cat >> /etc/sysconfig/network-scripts/ifcfg-ens33 << AE
> TYPE="Ethernet"
> BOOTPROTO="static"
> NAME="ens33"
> DEVICE="ens33"
> ONBOOT="yes"
> IPADDR=192.168.8.40
> GATEWAY=192.168.8.2
> DNS1=8.8.8.8
> AE
[root@node13 yum.repos.d]# ifdown ens33;ifup ens33
成功断开设备 "ens33"。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@node13 yum.repos.d]# hostnamectl set-hostname rsync
[root@node13 yum.repos.d]# bash
[root@rsync yum.repos.d]#
[root@rsync yum.repos.d]# cat>>aa.txt<<EOF
> EOF
[root@rsync yum.repos.d]# cat>>aa.txt<<EOF
> 123
> 3456
> EOF
[root@rsync yum.repos.d]#
[root@rsync yum.repos.d]#
Ansible中需要的配置
主机
[root@ansible ~]# vim /etc/hosts
安装
文件夹中所有文件利用XFTP送入ansible
[root@ansible ~]# cd ansible/
[root@ansible ansible]# yum -y localinstall *.rpm
Ssh密钥
[root@ansible ansible]# ssh-keygen -t rsa
[root@ansible ansible]# ssh-copy-id root@web
将nfs、rysnc用同样的方式获取ssh公钥
复制/etc/hosts到被管理端
[root@ansible ansible]# scp /etc/hosts root@web:/etc
创建ansible目录
[root@ansible ansible]# mkdir -p /etc/ansible/ansible_playbook/{conf,file,scripts,tools}
[root@ansible ansible]# cd ansible_playbook/
配置主机清单
[root@ansible ansible_playbook]# vim /etc/ansible/hosts
将/etc/hosts复制到所有主机
[root@ansible etc]# ansible all -m copy -a "src=/etc/hosts dest=/etc"
代表成功
Ansible的模块颜色显示
翔黄色 更改成功
帽绿色 没有更改
深红色 错误
亮紫色 警告
更改tab缩进
编写基础环境脚本
基础配置
[root@ansible etc]# cd /etc/ansible/ansible_playbook/
ansible的目录配置
[root@ansible ansible_playbook]# cd conf/
拖入shell中
修改配置文件
[root@ansible conf]# vim exports
[root@ansible conf]# vim rsyncd.conf
[root@ansible conf]# vim rsyncd.conf
[root@ansible ansible_playbook]# cd scripts/
拖入shell
[root@ansible scripts]# vim rsync_backup.sh
修改红框内容
[root@ansible scripts]# vim rsync_check.sh
[root@ansible scripts]# cd ..
[root@ansible ansible_playbook]# cd tools/
拖入shell中
[root@ansible tools]# vim confxml.xml
执行:
[root@ansible ansible_playbook]# ansible-playbook -C base.yaml
编写配置rsync的剧本
Vim rsync.yaml
编写nfs
Vim nfs.yaml
网页配置
Vim web.yaml
配置rsync服务配置
vim sersync.yaml
融合到一块大剧本
[root@ansible ansible_playbook]# vim main.yaml