Ansible的安装与配置


Ansible简介

Ansible的功能

Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块,比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。

Ansible系统架构

devops

Ansible主要包含以下几个功能模块:

  • Ansible:Ansible核心程序。
  • HostInventory:主机清单,记录Ansible管理的主机信息,包括端口、密码、IP等。
  • Playbooks:剧本,YAML格式的文本文件。定义主机需要调用哪些模块来完成相应的功能。
  • CoreModules:核心模块,Ansible的所有操作都是通过调用核心模块来完成任务。
  • CustomModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。
  • ConnectionPlugins:连接插件,用于Ansible和Host进行通信。

Ansible的安装

1、安装epel源。

devops

2、安装Ansible。

devops

主机清单的配置

主机清单记录了Ansible管理的主机信息,包括端口、密码、IP等。默认的主机清单配置文件为:/etc/ansible/hosts。

1、主机的配置有以下几种:

  • IP地址,例如:192.168.0.1。
  • 域名或主机名,例如:www.example.com。
  • 域名或地址区间,例如:192.168.0.[1:10]表示192.168.0.1~192.168.0.10。
  • 主机组,用于对主机进行分组,一个主机可以属于多个组。例如:[webservers]。
devops

2、主机账号的配置包括:ansible_port(SSH端口)、ansible_user(登录用户)、ansible_password(登录密码)。账号的配置有以下三种:

2.1、主机IP或主机名称后直接定义,此种方式适合主机登录信息不一致的情况。

devops

2.2、主机登录信息一致的情况下可以使用变量方式,变量的定义方式为:[主机组名:vars]。

devops

2.3、在Ansible主机上生成SSH密钥,使用ssh−copy−id将公钥拷贝至目标主机,实现免密登录。

devops

Ansible的使用

Ansible命令的格式为:ansible 组名/主机名 -m 模块名 -a 命令参数。若目标主机是所有主机,可使用关键字“all”:ansible all -m 模块名 -a 命令参数。

devops

发表评论

评论数量:0