1 Ansible 1.1 ansible安装部署 |
2 功能模块 |
2.1 playbook |
2.2 command模块 |
2.3 shell模块 |
2.4 copy模块 |
2.5 package模块 |
2.6 file模块 |
2.7 fetch模块 |
2.8 cron模块 |
2.9 template模块 |
2.10 service模块 |
2.11 yum模块 |
2.12 user模块 |
2.13 group模块 |
2.14 script模块 |
2.15 setup模块 |
通过脚本运行安装部署
#!/bin/bash
yum install -y sudo yum install -y openssh-server yum install -y openssh-clients yum install -y http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm if [ $? -ne 0 ] then echo "依赖下载失败,请手动下载安装." exit 2 fi yum install -y https://releases.ansible.com/ansible/rpm/release/epel-7-x86_64/ansible-2.9.5-1.el7.ans.noarch.rpm if [ $? -ne 0 ] then echo "ansible安装包下载失败,请手动下载安装." exit 1 fi yum install -y vim yum install -y net-tools yum install -y initscripts
sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key mkdir /var/run/sshd systemctl restart sshd |
ansible 的配置文件为/etc/ansible/ansible.cfg,ansible 有许多参数,下面我们列出一些常见的参数: inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置 library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以 forks = 5 #并发连接数,默认为5 sudo_user = root #设置默认执行命令的用户 remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全 host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例 timeout = 60 #设置SSH连接的超时时间,单位为秒 log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志) 主机清单 vim /etc/ansible/hosts
ansible 配置公私钥,实现免密登陆 上面我们已经提到过 ansible 是基于 ssh 协议实现的,所以其配置公私钥的方式与 ssh 协议的方式相同,具体操作步骤如下: #1.生成私钥 [root@server ~]# ssh-keygen #2.向主机分发私钥 [root@server ~]# ssh-copy-id root@172.17.0.3 [root@server ~]# ssh-copy-id root@172.17.0.4 ... ...
测试连通性 ansible Test -m ping
发现每一台主机都是可以联通的! |