自动化运维工具Ansible-安装与配置(二)

1、Ansible的安装

一键式脚本安装,主要包含以下相关安装包
python2.7
setuptools模块
pycrypto模块
PyYAML模块
MarkupSafe模块
Jinja2模块
paramiko模块
simplejson模块
ansible
一键式安装脚本连接如下:
链接:https://pan.baidu.com/s/15U5nRGcA_C0N5tRYJzRgLg
提取码:lxpg

2、配置

2.1、ansible配置文件解析(/etc/ansible/ansible.cfg)

grep ‘^[a-Z]‘ /etc/ansible/ansible.cfg    #ansible的配置文件,一般保持默认
[defaults]
# some basic default values...
#inventory      = /etc/ansible/hosts    #主机列表配置文件
#library        = /usr/share/my_modules/   #库文件存放目录
#module_utils   = /usr/share/my_module_utils/  #模块存放目录
#remote_tmp     = ~/.ansible/tmp  #临时py命令文件存放在远程主机目录
#local_tmp      = ~/.ansible/tmp  #本机的临时命令执行目录
#forks          = 5  #默认并发数
#poll_interval  = 15
#sudo_user      = root   #默认sudo用户
#ask_sudo_pass = True   #每次执行ansible命令是否寻味ssh密码
#ask_pass      = True
#transport      = smart
#remote_port    = 22
#module_lang    = C
#module_set_locale = False
#host_key_checking = False #检查对应服务器的host_key,建议取消注释
#log_path = /var/log/ansible.log #日志文件

2.2、SSH免密钥登录设置

ssh-keygen -t rsa -P ‘‘                      # 生成公钥/私钥
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.16.*       #将公钥分发到各个机器端

2.3、ansible系列命令

ansible:执行用于模块使用 ansible-playbook:用于剧本使用 ansible-doc:显示帮助模块
ansible-vault:管理加密解密yaml文件 ansible-console:命令行交互
ansible-pull:推送命令至远程,效率无限提升,对运维要求较高
ansible-galaxy:连接 https://galaxt.ansible.com下载相应的roles
ansible-galaxy list:列出已安装的galaxy
ansible-galaxy install geerlingguy.redis 安装redis
ansible-galaxy remove geerlingguy.redis 安装redis

ansible-doc:显示模块帮助

ansible-doc [options] [module...]
-a 显示所有模块的文档
-l,--list 列出可用模块
-s,--snippet 显示指定模块的playbook片段
eg:
ansible-doc -l 列出所有模块
ansible-doc ping 查看指定模块帮助用法
ansible-doc -s ping 查看指定模块帮助用法

ansible-vault:管理加密解密yaml文件

ansible-vault [ create | decrypt | edit | encrypt | rekey | view ]
ansible-vault encrypt hellow.yml 加密
absible-vault decrypt hellow.yml 加密
ansible-vault view hello.yml 查看
ansible-vault edit hello.yml 编辑加密文件
ansible-vault rekey hello.yml 修改口令
ansible-vault create newyml 创建新文件

ansible-console:2.0版本新增,命令行交互,支持tab键

格式:执行用户@当前操作的主机组(当前组的主机数量)[f:并发数]$
设置并发数:forks n 如 forks 10
切换组:cd 主机组 如 cd webbr/>列出当前组主机列表:list
列出所有的内置命令:?或者help
示例:
[email protected](2)[f:5]$list
[email protected](2)[f:5]$cd serverbr/>[email protected](2)[f:5]$list
[email protected](2)[f:5]$yum name=httpd state=present
[email protected](2)[f:5]$service name=httpd state=started

2.4、ansible参数说明

ansilne <host-pattern> [-m module_name] [-a args]
-m 要执行的模块,默认为 command
-a 模块的参数
-u 连接的用户名,默认用 root,ansible.cfg 中可以配置
-k 提示输入 ssh 登录密码,当使用密码验证登录的时候用
-s sudo 运行
-U sudo 到哪个用户
-K 输入 sudo 密码
-C 只是测试一下会改变什么内容,不会真正去执行
--list-hosts 只打印有哪些主机会执行这个 playbook 文件:不是实际执行该playbook
-M 要执行的模块的路径,默认为/usr/share/ansible/
-t 日志输出到该目录,日志文件名会以主机名命名
-i 指的是配置的hosts文件,默认为/etc/ansible/hosts)
--version 显示版本
-b,--become 代替旧版本的sudo切换

2.5、ansible的host-pattern:匹配主机的列表

all:表示所有的Inventory中的所有主机

ansible all -m ping

*:通配符

ansible “*” -m ping
ansible “192.168.16.*” -m ping

或关系 :

ansible “wuliserver:xuniserver” -m ping
ansible “192.168.16.1:192.168.16.2” -m ping

*与关系 : &
非关系: !
正则: ~/./
/**

2.6、ansible命令执行过程

  1. 加载自己的配置文件,默认为/etc/ansible/ansible.cfg
  2. 加在自己对应的模块文件,如command
  3. 通过ansible将模块或命令生成对应的临时py文件,并将该文件传输到远程服务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/xxx.py文件
  4. 给文件+x权限
  5. 执行并返回结果
  6. 删除临时的py文件,sleep 0退出

    2.7、执行状态:

    绿色:执行成功并且不需要做改变的操作
    黄色:执行成功并且对目标主机做变更
    红色:执行失败

    2.8、简单测试

    ansible web -m command -a ‘uptime‘

自动化运维工具Ansible-安装与配置(二)

原文地址:https://blog.51cto.com/13479397/2486671

时间: 2024-08-11 05:36:27

自动化运维工具Ansible-安装与配置(二)的相关文章

自动化运维工具ansible——安装及模块管理

ansible简介 ?ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ?ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括:(1).连接插件connection plugins:负责和被监控端实现通信:(2).host inventory:指

自动化运维工具Ansible详细部署 (转载)

自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 ===========================

自动化运维工具——ansible详解案例分享

自动化运维工具--ansible详解案例分享(一)目录ansible 简介ansible 是什么?ansible 特点ansible 架构图ansible 任务执行ansible 任务执行模式ansible 执行流程ansible 命令执行过程ansible 配置详解ansible 安装方式使用 pip(python的包管理模块)安装使用 yum 安装ansible 程序结构ansible配置文件查找顺序ansible配置文件ansuble主机清单ansible 常用命令ansible 命令集a

3.1 自动化运维工具ansible

自动化运维工具ansible 运维自动化发展历程及技术应用 Iaas 基础设施即服务Pass 平台服务SaaS 软件即服务 云计算工程师核心职能 Linux运维工程师职能划分 自动化动维应用场景 文件传输命令执行 应用部署配置管理任务流编排 企业实际应用场景分析 1 Dev开发环境 使用者:程序员功能:程序员开发软件,测试BUG的环境管理者:程序员123 2 测试环境 使用者:QA测试工程师功能:测试经过Dev环境测试通过的软件的功能管理者:运维说明:测试环境往往有多套,测试环境满足测试功能即可

自动化运维工具-Ansible基础

目录 自动化运维工具-Ansible基础 自动化运维的含义 Ansible 基础及安装 Ansible的架构 Ansible的执行流程 ansible配置文件 ansible Inventory(主机清单文件) Ansible ad-hoc ansible常用模块 实战 自动化运维工具-Ansible基础 自动化运维的含义 1.手动运维时代 2.自动化运维时代 3.自动化运维工具给运维带来的好处 Ansible 基础及安装 1.什么是Ansible Ansible是一个自动化统一配置管理工具 2

自动化运维工具Ansible实战(一)安装部署

1,基本介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定操作

自动化运维之 Ansible——安装配置

Ansible相对于其他自动化运维工具(saltstack.puppet)的优势: Ansible是一款轻量级框架,基于各个模块实现各种功能,模块可根据需要自行开发 agentless 无需安装agent,可根据具体情况建立一台操作机 支持playbook剧本 python语言开发,做运维的都比较容易接受的语言 其他等等,一百度一大堆,自行百度吧~ 环境说明: 系统环境centos6.8 操作机 192.168.1.121 客户机 192.168.1.122 基本安装 安装gcc,用于编译pyt

自动化运维工具--Ansible(安装部署、模块简介与操作)

一.Ansible概述 互联网的快速发展导致产品更新换代速度加快,按照传统维护操作使得工作效率低下,自动化运维以尽可能安全高效的完成工作为目的,实现代替传统工作方式. 自动化运维工具划分为两类: 一是需要使用代理工具的,也就是基于agent程序来实现管理功能,例如puppet.func.zabbix等 二是不需要代理配置工具的,可以直接基于SSH服务来完成管理功能,如ansible,fabric等. 自动化运维工具比较: 工具 开发语言 结构 配置文件格式 运行任务 Ansible Python

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

常用自动化运维工具: ①CFengine ②Chef ③Puppet ③SaltStack ③Ansible-基于python开发,分布式,无需客户端,轻量级.配置语言采用YAML. Ansible基本架构 Ansible工作原理 Ansible的安装及使用 ①CentOS Linux release 7.3.1611 (Core) 安装: yum install -y ansible [[email protected] ansible]# ls /etc/ansible/ ansible.c