运维⾃动化之ANSIBLE
2019-07-23 20:06 我男友好用么 阅读(212) 评论(0) 编辑 收藏 举报运维自动化之ANSIBLE
ANSIBLE(四台新机器)
*准备四台新机器,实验IP为192.168.198.6ansible,192.168.198.72,192.168.198.73,192.168.198.135CentOS6系统
*ansible操作:修改主机名hostnamectl set-hostname ansible
安装ansible:yum install ansible[安装前提启用epel源]
确认安装: ansible --version
修改vim /etc/ansible/hosts文件格式,如下图所示
显示主机全部列表:ansible all --list-hosts
显示web全部列表:ansible websrvs --list-hosts
显示app全部列表:ansible appsrvs --list-hosts
检查对应服务器的host_key,建议取消注释,vim /etc/ansible/ansible.cfg:#host_key_checking = False
ping所有的主机:ansible all -m ping[192.168.198.135未成功]
基于key验证:ssh-keygen,然后ansible单向基于key:ssh-copy-id 192.168.198.[135:72:73]输入密码
ping所有的主机:ansible all -m ping[都成功]
以特定用户执行ping存活检测: ansible all -m ping -u 用户 -k,输入密码[有特定用户账号密码也正确,才能成功]
ping所有的主机:ansible "*" -m ping -C/ansible "*srvs" -m ping -C
ping共同的主机:ansible "websrvs:&appsrvs" -m ping -C
ping含websrvs但不包括appservs的主机:ansible 'websrvs:!appsrvs' -m ping -C
检查对应服务器的log_path,取消注释,vim /etc/ansible/ansible.cfg:#log_path=/var/log/ansible.log
随便执行一条ansible命令,cat /var/log/ansible.log查看日志,记录自己的操作
--------------------------------------------------------------------------------------------------------------------------------------------------------
ANSIBLE安装服务httpd
*实验IP为192.168.198.6ansible,192.168.198.[72:73]appsrvs
*ansible操作(已安装httpd):创建一个文件存放目录mkdir /data/playbook
复制httpd配置文件到文件目录并修改端口为8080:cp /etc/httpd/conf/httpd.conf /data/playbook/
进入目录:cd /data/playbook
创建配置文件:vim httpd.yml
检查文件:ansible-playbook -C httpd.yml
启动文件:ansible-playbook httpd.yml
查看服务安装情况:ansible-playbook --list-hosts httpd.yml
进入appsrvs下的系统查看,安装httpd服务成功,端口为8080
--------------------------------------------------------------------------------------------------------------------------------------------------------
ANSIBLE安装文件
*实验IP为192.168.198.6ansible,websrvs机器
*编写ansible文件:①vim vars.yml
{{suf}}来自配置文件vim /etc/ansible/hosts[声明创建文件的类型]
{{ansible_fqdn}}为主机名,也可写成{{suf}}模式,直接声明
②也可以直接在里面提前声明,如下图
若是执行此命令:ansible-playbook -e hostname=file -e suf=log vars3.yml[-e高于vars,最后生成文件为file.log]
得出结论:-e > yml文件 > etc/ansible/hosts
----------------------------------------------------------------------------------------------------------------------------------------------------------