Ansible自动化运维(1)

一:ansible介绍

  • Ansible 是个与 Puppet, SaltStack, Chef 并驾齐驱的组态设定 (Infrastructure as Code) 工具,其简单易用的特性让人爱不释手,在 DevOps 界更佔有一席之地。
  • Ansible 提供一种最简单的方式用于发布、管理和编排计算机系统的工具,你可在数分钟内搞定。
  • Ansible 是一个模型驱动的配置管理器,支持多节点发布、远程任务执行。默认使用 SSH 进行远程连接。无需在被管理节点上安装附加软件,可使用各种编程语言进行扩展。

二:ansible特性

  • 拥有模块化的设计,Ansible能够调用特定的模块来完成特定任务 ,本身是核心组件,短小精悍
  • Ansible是基于Python语言实现的,由Paramiko (python 的一个可并发连接 ssh 主机功能库 ) , PyYAML和Jinja2 ( 模板化 ) 三个关键模块实现
  • Ansible的部署比较简单,agentless 无客户端工具
  • 以主从模式工作
  • 支持自定义模块功能
  • 支持playbook剧本,连续任务按先后设置顺序完成

三:ansible环境部署

3.1:ansible工作模式

当 Control Machine (主控端) 可以用 SSH 连上 Managed node,且被连上的机器里有预载 Python 时,Ansible 就可以运作了!
在这里插入图片描述

  • Control Machine 指的是我们主要在上面操作 Ansible 的机器
  • Managed node 则是被 Ansible 操纵的机器

3.2:ansible安装

我们只需在 Control Machine 里安装 Ansible 即可

[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install ansible

3.3: ansible 配置

安装好 Ansible 后,我们可以在 /etc/ansible/ 的目录底下找到 Ansible 的配置文件(ansible.cfg)。

[root@localhost ansible]# pwd
/etc/ansible
[root@localhost ansible]# ll
total 24
-rw-r--r-- 1 root root 19985 Oct  8 01:35 ansible.cfg
-rw-r--r-- 1 root root  1016 Oct  8 01:35 hosts
drwxr-xr-x 2 root root     6 Oct  8 01:35 roles

[root@localhost ansible]# cat  ansible.cfg 
	inventory = /etc/ansible/hosts		#这个参数表示资源清单inventory文件的位置
	library = /usr/share/ansible		#指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
	forks = 5		#并发连接数,默认为5
	sudo_user = root		#设置默认执行命令的用户
	remote_port = 22		#指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
	host_key_checking = False		#设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
	timeout = 60		#设置SSH连接的超时时间,单位为秒
	log_path = /var/log/ansible.log		#指定一个存储ansible日志的文件(默认不记录日志)

3.3.1: ansible 主机清单

inventory 就单词本身有详细目录、清单和列表的意思。
在这里我们可以把它当成是一份主机列表,我们可通过它定义每个 Managed Node 的代号、IP 位址和群组信息。

#定义一个主机组[组名]把地址或主机名加进去
[test]
10.159.232.1
10.159.232.233
10.159.232.234

批量执行命令"pwd"

[root@localhost ansible]# ansible test -m command -a "pwd"
10.159.232.233 | CHANGED | rc=0 >>
/root
10.159.232.1 | CHANGED | rc=0 >>
/root
10.159.232.234 | CHANGED | rc=0 >>
/root

猜你喜欢

转载自blog.csdn.net/zhangshaohuas/article/details/109638567