ansible的基本概念和使用方法<1>

简介:

ansible是一个一键部署服务的软件,类似于saltstack,puppet,但是与后者不同的是,ansible是依赖于ssh连接去执行对应的部署,而后两者是要在需要部署的机器上装agent才可以完成部署,那我如果需要部署相同配置的100台服务器,用ssh连接的方法就显得很高效了。

ansible 10.1.1.60 -m ping

上面这条命令表示用ansible去ping这个ip的主机,-m表示调用ping这个模块,当然ansible还有很多模块,具体看我们在什么环境下使用什么样的模块,但是这条命令有两个条件才可以执行

1,被ping的主机与ansible所在的主机可以通过ssh连接,有这个服务

2,被ping的主机确定已经添加到ansible的管理清单中

在进行ansinle的操作时候,首先ansible需要一个自己的独立的epel源,建议使用阿里云或者epel的源比较好,当源配置完成后,就直接yum install ansible安装成功

阿里源:

 pwd

/etc/yum.repos.d
 

 cat aliBase.repo

[aliBase]
name=aliBase
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
 

假设我有四台主机,1,2,3,4

要通过1来管理其他三台,需要在装有ansible的1上的/etc/ansible/hosts中配置相关的清单

那我们在hosts中直接写入1的ip:10.1.1.60

再执行我们之前的ping命令看看会发生什么:
__20180807104255
很明显不行,是因为格式错误,而正确的格式应该是:
__20180807104456
__20180807104740
所以ansible的配置清单一定要注意格式的书写
那么在进行执行命令和配置清单之前还有一项重要的操作,那就是为了避免每次ssh连接的时候需要登录密码:
image
所以我们可以在ansible主机上做一个ssh-keygen的免密认证,就是生成公钥和私钥后将公钥交给我们需要连接的主机,避免了每次连接需要输入密码:
image
image
可以看到在用户的家目录下生成了一堆的公钥和私钥
ssh-copy-id -i /root/.ssh/id_rsa.pub root@118.24.119.177
我们可以通过上面这条命令将我们生成的公钥交给177这台主机
image
输入一次密码后现在已经完成了认证,
现在我们再次试一下连接看用不用密码:
image
很明显不用

好了,继续讲我们的ansible
那么在进行完公钥认证后,我们ansible的hosts清单中就不需要配置用户和密码这一项了,直接演变成如下:
image
那么如果我们需要管理多个服务器,ssh生成的密钥肯定不止一个,需要不同的密钥去对应管理不同的服务器,我们需要ssh-agent来管理我们的多对密钥,ssh-agent会在下一篇博客有所介绍,今天的ansible先有个初步的了解

目录
相关文章
|
3月前
|
运维 jenkins 网络安全
[ansible]简介安装入门
[ansible]简介安装入门
|
6月前
|
存储 安全 Shell
Ansible安装基本原理及操作(初识)
Ansible安装基本原理及操作(初识)
|
运维 Shell 网络安全
Ansible概述(一)
Ansible概述(一)
160 0
Ansible概述(一)
|
Shell Linux 数据安全/隐私保护
Ansible概述(二)
Ansible概述(二)
99 0
LXJ
05-Ansible模块的基本使用
05-Ansible模块的基本使用
LXJ
159 0
|
JSON Shell 数据格式
Ansible-playbook 变量进阶(学习笔记二十五)
1、register结果返回到变量中 - name: debug test one host   hosts: 200.200.6.53   tasks:     - debug:         msg: "System {{ inventory_h...
1400 0
|
Shell 应用服务中间件 Linux
Ansible第一篇:基础
一、配置文件 ansible.cfg /etc/ansible/ansible.cfg 是ansible安装好后的默认配置文件,但是配置文件可以存在于多个地方,ansible读取配置文件的顺序依次是:当前命令执行目录 ---> **用户家目录下的 .ansible.cfg ** ---> /etc/ansible/ansible.cfg,先找到哪个就使用哪个的配置。
1443 0
|
NoSQL Apache Redis
Ansible-playbook 基本语法与实例(学习笔记十九)
1、安装apache,做初始配置,并启动服务: 这个是你选择的主机 hosts: webservers 这个是变量 vars: http_port: 80 max_clients: 200 远端的执行权限 remote_user: root t...
1331 0
|
Shell
Ansible-playbook 简单实例(学习笔记十八)
1、test.yml,执行任务:安装wget,更换仓储源,获取信息等 hosts: all gather_facts: false tasks: name: yum wget yum: pkg=wget state=latest name: mv old repo shell: mv /etc/yum.
1286 0
下一篇
无影云桌面