企业轻量级自动化运维工具—ansible(常见的错误解决,免秘钥互信,常用的模块)
2017-10-31 19:45
951 查看
企业轻量级自动化运维工具—ansible
1.ansible简介ansible是“Ansible is Simple IT Automation”——简单的自动化IT工具。它可以做到自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。可实现多节点的软件部署,执行特定任务并进行配置管理。2.安装前准备1.准备三台主机192.168.122.22 服务端192.168.122.21 客户端192.168.122.18 客户端2.时间同步3.关闭防火墙和SELinux3.安装1.配置yum源[root@localhost ~]# yum install -y http://mirrors.aliyun.com/centos/7.3.1611/extras/x86_64/Packages/epel-release-7-9.noarch.rpm2.安装[root@localhost ~]# yum install -y ansible3.查看帮助[root@localhost ~]# ansible –h4.查看版本[root@localhost ~]# ansible --version5.ansible模块 ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。安装完ansible后,发现ansible一共为我们提供了七个指令:ansible、ansible-doc、ansible-galaxy、ansible-lint、ansible-playbook、ansible-pull、ansible-vault 。
1.列出所有已安装的模块[root@localhost ~]# ansible-doc –l2.查看某一个模块的用法[root@localhost ~]# ansible-doc –h[root@localhost ~]# ansible-doc -s yum //查看yum的用法3.ansible-playbook该指令是使用最多的指令,其通过读取playbook 文件后,执行相应的动作。4.配置hosts和group192.168.122.22 root用户 密码123456192.168.122.18 user1用户 密码user1192.168.122.21 user2用户 密码123 端口2222[root@localhost ~]# vim /etc/ssh/ssh_config //改变端口的文件[root@localhost ~]# systemctl restart sshd //重启服务[root@localhost ~]# vim hosts //默认的hosts文件在/etc/hosts里,这里我们可以用-i来指定路径
这里我们查看时会报错是因为它没有加载到自身。有三种解决办法。方法一:1.重新连接自己[root@localhost ~]# ssh 192.168.122.22
2.exit登出[root@localhost ~]# exit3.重新执行
此时会发现执行成功。这是因为多了一个文件
方法二:在服务端:进行ssh连接时,可以使用-o参数将StrictHostKeyChecking设置为no,使用ssh连接时避免首次连接时让输入yes/no部分的提示。[root@localhost .ssh]# vim /etc/ansible/ansible.cfg将#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s 修改为ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no
方法三:[root@localhost .ssh]# vim /etc/ansible/ansible.cfg将#host_key_checking = False的#去掉。
5.使用all查看hosts中所有机器的情况
6.ansible的配置文件[root@localhost ~]# vim /etc/ansible/ansible.cfg7.定义多个主机与组可以进行与或非的逻辑关系运算:或 !非 &与8.ssh的免秘钥互信在192.168.122.22上操作
[root@localhost ~]# ssh-copy-id 192.168.122.22 //给自己拷验证是否成功
6.ansible常用模块1.ping模块:测试主机是否能ping通
2.setup模块:获取主机信息[root@localhost ~]# ansible-doc -s setup //查看帮助[root@localhost ~]# ansible localhost -m setup //查看内存信息[root@localhost ~]# ansible -i hosts arethon -m setup //查看所有信息[root@localhost ~]# ansible -i hosts arethon -m setup -a 'filter=ansible_*ipv4' //过滤ipv4的信息3.file模块:远程主机上的文件操作[root@localhost ~]# ansible-doc -s file //查看帮助[root@localhost ~]# ansible localhost -m file -a 'src=/etc/hosts dest=/tmp/hosts state=link' 链接
查看:
4.copy模块[root@localhost ~]# ansible-doc -s copy //查看帮助[root@localhost ~]# ansible -i hosts arethon -m copy -a 'src=test.txt dest=/tmp' //把test.txt文件拷贝到另外两台主机上5.command模块[root@localhost ~]# ansible -i hosts 192.168.122.18 -a 'df -h' //查看192.168.122.18的磁盘
执行已有命令时则自动跳过所有,结束。
相关文章推荐
- 自动化运维工具Ansible实战(六)playbook常用的模块
- Ansible 自动化运维工具之inventory和常用模块介绍
- 自动化运维工具Ansible实战(四)常用模块
- 自动化运维工具ansible--笔记一之简介安装/常用模块
- 运维自动化之ansible使用详解(包括常用模块与playbook使用)
- 自动化运维工具--Ansible(安装部署、模块简介与操作)
- 轻量级自动化运维工具ansible之一:初步介绍及简单运用
- 自动化运维工具ansible简单模块介绍(一)
- [9]DevOps 自动化运维工具Chef---如何解决在Window平台上执行一些knife子命令时所报的错误, knife search, knife status?
- 运维工具Ansible—常用模块的使用
- 心领神会--自动化运维之Ansible的核心概念,安装配置Ansible并学会使用其常见模块。
- 自动化运维工具Ansible实战(三)常用的配置和相关命令
- 自动化运维工具Ansible详细部署
- 自动化运维工具Ansible详细部署
- 技术文章 | vue工具帮你解决常见的错误与陷阱
- 自动化运维工具——ansible详解(二)
- 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机
- 自动化运维工具——ansible详解(二)
- Ansible安装与配置(自动化运维管理工具)