企业轻量级自动化运维工具—ansible(常见的错误解决,免秘钥互信,常用的模块)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业轻量级自动化运维工具—ansible(常见的错误解决,免秘钥互信,常用的模块)相关的知识,希望对你有一定的参考价值。

企业轻量级自动化运维工具—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.关闭防火墙和SELinux

3.安装

1.配置yum

[[email protected] ~]# yum install -y http://mirrors.aliyun.com/centos/7.3.1611/extras/x86_64/Packages/epel-release-7-9.noarch.rpm

2.安装

[[email protected] ~]# yum install -y ansible

3.查看帮助

[[email protected] ~]# ansible –h

4.查看版本

[[email protected] ~]# ansible --version

5.ansible模块

   ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令。默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块。安装完ansible后,发现ansible一共为我们提供了七个指令:ansibleansible-docansible-galaxyansible-lintansible-playbookansible-pullansible-vault

技术分享

1.列出所有已安装的模块

[[email protected] ~]# ansible-doc –l

2.查看某一个模块的用法

[[email protected] ~]# ansible-doc –h

[[email protected] ~]# ansible-doc -s yum           //查看yum的用法

3.ansible-playbook

该指令是使用最多的指令,其通过读取playbook 文件后,执行相应的动作。

4.配置hostsgroup

192.168.122.22      root用户                   密码123456

192.168.122.18        user1用户       密码user1

192.168.122.21        user2用户       密码123           端口2222

[[email protected] ~]# vim /etc/ssh/ssh_config                   //改变端口的文件

[[email protected] ~]# systemctl restart sshd            //重启服务

[[email protected] ~]# vim hosts         //默认的hosts文件在/etc/hosts里,这里我们可以用-i来指定路径

技术分享

这里我们查看时会报错是因为它没有加载到自身。有三种解决办法。

方法一:

1.重新连接自己

[[email protected] ~]# ssh 192.168.122.22

技术分享

2.exit登出

[[email protected] ~]# exit

3.重新执行

技术分享

此时会发现执行成功。这是因为多了一个文件

技术分享

方法二:

在服务端:进行ssh连接时,可以使用-o参数将StrictHostKeyChecking设置为no,使用ssh连接时避免首次连接时让输入yes/no部分的提示。

[[email protected] .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

技术分享

方法三:

[[email protected] .ssh]# vim /etc/ansible/ansible.cfg

#host_key_checking = False#去掉。

技术分享

5.使用all查看hosts中所有机器的情况

技术分享

技术分享

6.ansible的配置文件

[[email protected] ~]# vim /etc/ansible/ansible.cfg

7.定义多个主机与组可以进行与或非的逻辑关系运算

:或         !非         &

8.ssh的免秘钥互信

192.168.122.22上操作

技术分享

[[email protected] ~]# ssh-copy-id 192.168.122.22       //给自己拷

验证是否成功

技术分享

6.ansible常用模块

1.ping模块:测试主机是否能ping

技术分享

2.setup模块:获取主机信息

[[email protected] ~]# ansible-doc -s setup           //查看帮助

[[email protected] ~]# ansible localhost -m setup         //查看内存信息

[[email protected] ~]# ansible -i hosts arethon -m setup    //查看所有信息

[[email protected] ~]# ansible -i hosts arethon -m setup -a ‘filter=ansible_*ipv4‘                                         //过滤ipv4的信息

3.file模块:远程主机上的文件操作

[[email protected] ~]# ansible-doc -s file            //查看帮助

[[email protected] ~]# ansible localhost -m file -a ‘src=/etc/hosts dest=/tmp/hosts state=link‘ 链接

技术分享

查看:

技术分享

4.copy模块

[[email protected] ~]# ansible-doc -s copy       //查看帮助

[[email protected] ~]# ansible -i hosts arethon -m copy -a ‘src=test.txt dest=/tmp‘                   //test.txt文件拷贝到另外两台主机上

5.command模块

[[email protected] ~]# ansible -i hosts 192.168.122.18 -a ‘df -h‘  //查看192.168.122.18的磁盘

技术分享

执行已有命令时则自动跳过所有,结束。

技术分享




以上是关于企业轻量级自动化运维工具—ansible(常见的错误解决,免秘钥互信,常用的模块)的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维利器 Ansible 和企业级 Ansible 应用解读

ansible轻量级运维工具使用

Linux轻量级自动运维化工具Ansible解析

Ansible运维工具

自动化运维工具Ansible学习笔记

Ansible自动化运维工具Ansible的安装及使用