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先有个初步的了解

目录
相关文章
|
6月前
|
Serverless 网络安全 Python
Ansible原理和安装
Ansible原理和安装
91 1
|
5月前
|
运维 jenkins 网络安全
[ansible]简介安装入门
[ansible]简介安装入门
|
8月前
|
存储 安全 Shell
Ansible安装基本原理及操作(初识)
Ansible安装基本原理及操作(初识)
117 0
|
Kubernetes Docker 容器
K8s学习笔记(1)——基本概念和安装
K8s学习笔记(1)——基本概念和安装
154 0
|
XML NoSQL 关系型数据库
实现 Ansible 企业级用法 playbook| 学习笔记
快速学习实现 Ansible 企业级用法 playbook
实现 Ansible 企业级用法 playbook| 学习笔记
|
Shell 网络安全 开发工具
[Ansible专栏]Ansible安装和基本使用
[Ansible专栏]Ansible安装和基本使用
LXJ
05-Ansible模块的基本使用
05-Ansible模块的基本使用
LXJ
166 0
|
NoSQL Apache Redis
Ansible-playbook 基本语法与实例(学习笔记十九)
1、安装apache,做初始配置,并启动服务: 这个是你选择的主机 hosts: webservers 这个是变量 vars: http_port: 80 max_clients: 200 远端的执行权限 remote_user: root t...
1337 0
|
Shell 应用服务中间件 Linux
Ansible第一篇:基础
一、配置文件 ansible.cfg /etc/ansible/ansible.cfg 是ansible安装好后的默认配置文件,但是配置文件可以存在于多个地方,ansible读取配置文件的顺序依次是:当前命令执行目录 ---> **用户家目录下的 .ansible.cfg ** ---> /etc/ansible/ansible.cfg,先找到哪个就使用哪个的配置。
1454 0
|
Python
Ansible 简单使用
安装rpm -Uvh https://mirrors.zju.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install -y ansible 配置hostsvi /etc/ansible/hosts aly ansible_ssh_port=10011 ansible_ssh_host=127.
1052 0

热门文章

最新文章

相关实验场景

更多
下一篇
开通oss服务