原文转自:https://www.cnblogs.com/itzgr/p/10233932.html
作者:木二

目录


一 Ansible的安装部署

1.1 PIP方式

  1. 安装PIP

略,可参考《001.Pip简介及使用》。

提示:建议将PIP升级到最新:pip install --upgrade pip。

  1. 安装依赖
  1 [root@manage ~]# yum -y install gcc glibc-devel zlib-devel rpm-build openssl-devel
  1. 安装Ansible
  1 [root@manage ~]# pip install ansible

  1 [root@manage ~]# ansible --version		#查看版本

1.2 YUM方式

  1. 安装epel源
  1 [root@manage ~]# sudo yum install -y epel-release
2 [root@manage ~]# sudo sed -e 's!^mirrorlist=!#mirrorlist=!g' \
3 -e 's!^#baseurl=!baseurl=!g' \
4 -e 's!//download\.fedoraproject\.org/pub!//mirrors.ustc.edu.cn!g' \
5 -e 's!http://mirrors\.ustc!https://mirrors.ustc!g' \
6 -i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
  1. 安装依赖
  1 [root@manage ~]# yum -y install gcc glibc-devel zlib-devel rpm-build openssl-devel
  1. 安装Ansible
  1 [root@manage ~]# yum -y install ansible
2 [root@manage ~]# ansible --version #查看版本

二 Ansible目录及配置

2.1 Ansible目录结构

  1 # rpm -ql ansible

配置文件目录:/etc/ansible

主要功能:Inventory主机信息配置、Ansible工具功能配置,所有Ansible配置均存放在该目录下;

执行文件目录:/usr/bin

主要功能:Ansible系列命令默认存放目录,Ansible所有可执行文件均存放在该目录下。

Lib库文件目录:/usr/lib/pythonX.X/site-packages/ansible

主要功能:系统当前默认的Python路径。

Help帮助文档目录:/usr/share/doc/ansble-X.X.X/

主要功能:Ansible所有相关帮助文件存放目录。

Man文档目录:/usr/share/man/man1/

2.2 Ansible配置文件解析

Ansible配置文件ansible.cfg默认位于/etc/ansible/目录下。

提示:ansible.cfg配置文件可以位于多个目录下,Ansible读取配置文件的顺序为:当前命令执行目录——>用户家目录下的.ansible.cfg——>/etc/ansible/ansible.cfg.其ansible.cfg配置的所有内容均可在命令行通过参数的形式传递或定义在Playbook中。

  1 #……
2 #inventory = /etc/ansible/hosts #定义Inventory
3 #library = /usr/share/my_modules/ #自定义lib库存放目录
4 #module_utils = /usr/share/my_module_utils/
5 #remote_tmp = ~/.ansible/tmp #临时文件远程主机存放目录
6 #local_tmp = ~/.ansible/tmp #临时文件本地存放目录
7 #plugin_filters_cfg = /etc/ansible/plugin_filters.yml
8 #forks = 5 #默认开启的并发数
9 #poll_interval = 15 #默认轮询时间间隔
10 #sudo_user = root #默认sudo用户
11 #ask_sudo_pass = True #是否需要sudo密码
12 #ask_pass = True #是否需要密码
13 #transport = smart #通信机制.默认值为’smart’

提示:如果本地系统支持 ControlPersist技术的话,将会使用(基于OpenSSH)‘ssh’,如果不支持将使用‘paramiko’.其他传输选项包括‘local’, ‘chroot’,’jail’等

  1 #remote_port    = 22				#远程SSH端口,默认是22
2 #module_lang = C #模块和系统之间通信的计算机语言,默认是C语言
3 #module_set_locale = False
4 #gathering = implicit
5 #控制默认facts收集(远程系统变量),默认值为’implicit’, 每一次play,facts都会被收集
6 #gather_subset = all #定义获取fact的子集,默认全部
7 # gather_timeout = 10
8 #roles_path = /etc/ansible/roles #默认下载的Roles存放的目录
9 #host_key_checking = False #首次连接是否需要检查key认证,建议设置为False
10 #stdout_callback = skippy
11 #callback_whitelist = timer, mail
12 #task_includes_static = False
13 #handler_includes_static = False
14 #error_on_missing_handler = True
15 #sudo_exe = sudo
16 #如果在其他远程主机上使用另一种方式执sudu操作.可以使用该参数进行更换
17 #sudo_flags = -H -S -n #传递sudo之外的参数
18 #timeout = 10 #默认超时时间
19 #remote_user = root
20 #使用/usr/bin/ansible-playbook链接的默认用户名,如果不指定,会使用当前登录的用户名
21 #log_path = /var/log/ansible.log #执行日志存放目录
22 #module_name = command #默认执行模块
23 #executable = /bin/sh #用于执行脚本得解释器
24 #在sudo环境下产生一个shell交互接口. 用户只在/bin/bash的或者sudo限制的一些场景中需要修改
25 #hash_behaviour = replace #特定的优先级覆盖变量
26 #private_role_vars = yes

提示:默认情况下,角色中的变量将在全局变量范围中可见。为了防止这种情况,可以启用以上选项,只有tasks的任务和handlers得任务可以看到角色变量。

  1 #jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n	#允许开启Jinja2拓展模块
2 #private_key_file = /path/to/file #私钥文件存储位置
3 #vault_password_file = /path/to/vault_password_file #指定vault密码文件路径
4 #ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host}
5 #定义一个Jinja2变量,可以插入到Ansible配置模版系统生成的文件中
6 #ansible_managed = Ansible managed
7 #display_skipped_hosts = True #显示任何跳过任务的状态,默认是显示
8 #display_args_to_stdout = False
9 #error_on_undefined_vars = False
10 #如果所引用的变量名称错误的话, 是否让ansible在执行步骤上失败
11 #system_warnings = True
12 #允许禁用系统运行ansible相关的潜在问题警告
13 #deprecation_warnings = True
14 #允许在ansible-playbook输出结果中禁用“不建议使用”警告
15 # setting or adding warn=yes or warn=no to the end of the command line
16 # command_warnings = False
17 #当shell和命令行模块被默认模块简化的时,Ansible将默认发出警告
18 #nocolor = 1 #输出带上颜色区别, 开启/关闭:0/1
19 #action_plugins = /usr/share/ansible/plugins/action #action插件存放目录
20 #cache_plugins = /usr/share/ansible/plugins/cache #cache插件存放目录
21 #callback_plugins = /usr/share/ansible/plugins/callback #callback插件存放目录
22 #connection_plugins = /usr/share/ansible/plugins/connection #connection插件存放目录
23 #lookup_plugins = /usr/share/ansible/plugins/lookup #lookup插件存放目录
24 #inventory_plugins = /usr/share/ansible/plugins/inventory #Inventory插件存放目录
25 #vars_plugins = /usr/share/ansible/plugins/vars #vars插件存放目录
26 #filter_plugins = /usr/share/ansible/plugins/filter #filter插件存放目录
27 #test_plugins = /usr/share/ansible/plugins/test
28 [privilege_escalation]
29 #become=True #是否sudo
30 #become_metrod=sudo #sudo方式
31 #become_user=root #sudo后变为root用户
32 #become_ask_pass=False #sudo后是否验证密码

提示:出于安全考虑,可能需要以普通用户权限并赋予sudo来执行,以上部分配置主要针对sudo用户提权配置。

  1 [paramiko_connection]
2 #record_host_keys=False #不记录新主机的key以提升效率
3 #pty=False #禁用sudo功能
4 [ssh_connection]
5 #scp_if_ssh = True #若连接类型是ssh,使ansible使用scp
6 #pipelining=False #管道加速,需配合requiretty使用方可生效

提示:Ansible默认使用SSH协议连接对端主机,SSH pipelining 是一个加速Ansible执行速度的简单方法。ssh pipelining 默认关闭,之所以默认关闭是为了兼容不同的sudo配置,主要是requiretty选项。若不使用sudo,建议开启。打开此选项可以减少ansible执行没有传输时ssh在被控机器上执行任务的连接数。不过,若使用sudo,必须关闭requiretty选项。

  1 [accelerate]
2 #accelerate_port=5099 #加速连接端口
3 #accelerate_timeout=30 #命令执行超时时间,单位为秒
4 #accelerate_connect_timeout=5.0 #连接超时时间,单位为秒
5 #accelerate_daemon_timeout=30 #上一个活动连接的时候,单位为分钟
6 #accelerate_multi_key=yes

提示:以上部分为提升Ansible连接速度配置,多数保持默认即可。

  1 [selinux]
2 #libvirt_lxc_noseclabel=yes
3 #将此设置为yes,以允许libvirt_lxc连接在没有SELinux的情况下工作。
4 [colors]
5 #highlight = white
6 #verbose = blue
7 #warn = bright purple
8 #error = red
9 #debug = dark gray
10 #deprecate = purple
11 #skip = cyan
12 #unreachable = red
13 #ok = green
14 #changed = yellow
15 #diff_add = green
16 #diff_remove = red
17 #diff_lines = cyan

Ansible部署及配置介绍的更多相关文章

  1. 002. Ansible部署及配置介绍

    一 Ansible的安装部署 1.1 PIP方式 安装PIP 略,可参考<001.Pip简介及使用>. 提示:建议将PIP升级到最新:pip install --upgrade pip. ...

  2. [转帖]Ansible批量远程管理Windows主机(部署与配置)

    2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP ...

  3. Ansible批量远程管理Windows主机(部署与配置)

    一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP Addr: 172.16.10.22 Linux管理服务器需安装pip.pywinrm插件 Windows客户端主机: ...

  4. Ansible 系列之 Ad-Hoc介绍及使用

    Ad-Hoc 介绍 一.什么是ad-hoc 命令? ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令.就相当于bash中的一句话shell.这也是一个好的地方,在学习ansible ...

  5. Ansible第一篇:介绍及安装

    Ansible介绍 Ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automation"--简单的自动化IT工具.ansible基于P ...

  6. 001.Ansible部署RHCS存储集群

    一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...

  7. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  8. 003 ansible部署ceph集群

    介绍:在上一次的deploy部署ceph,虽然出了结果,最后的结果并没有满足最初的目的,现在尝试使用ansible部署一遍,看是否会有问题 一.环境准备 ceph1充当部署节点,ceph2,ceph3 ...

  9. Ansible :一个配置管理和IT自动化工具

    编译文章:LCTT  https://linux.cn/article-4215-1.html 译者: felixonmars 文章地址:https://linux.cn/article-4215-1 ...

随机推荐

  1. English Study!

    As you konw, education is a top priority for us !  When the times abandon you, they don't even call ...

  2. 深入刨析tomcat 之---第15篇 对应20章, myAdmin案例代码

    writedby 张艳涛 有没有和我一样做到第20章的?今天基本结束了本书的阅读.最后一个案例没有demo,那我写了一回,如果有需要的可以在本地试试 路径 D:\wksp_study\designbo ...

  3. JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

    检测漏洞 工具 下载地址:https://github.com/joaomatosf/JavaDeserH2HC javac -cp .:commons-collections-3.2.1.jar E ...

  4. SpringCloud升级之路2020.0.x版-8.理解 NamedContextFactory

    本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~ spring- ...

  5. Linux各目录及每个目录的详细介绍总结

    Linux各目录及每个目录的详细介绍 [常见目录说明] 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所 ...

  6. 【Python机器学习实战】感知机和支持向量机学习笔记(三)之SVM的实现

    前面已经对感知机和SVM进行了简要的概述,本节是SVM算法的实现过程用于辅助理解SVM算法的具体内容,然后借助sklearn对SVM工具包进行实现. SVM算法的核心是SMO算法的实现,首先对SMO算 ...

  7. 并发编程——synchronized关键字的使用

    前言 我们一般对共享数据操作的时候,为了达到线程安全我们会使用synchronized关键字去修饰方法或者代码块.那么今天我们就来讲一讲synchronized关键字的使用. 专栏推荐: 并发编程专栏 ...

  8. 《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)

    1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. ...

  9. MyBatis学习02(配置解析)

    配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 能配置的内容如下: configur ...

  10. 从官网下载历史版本的java

    下载历史版本的java 因为一些bug需要降低java版本来尝试解决,但是好多都要收费,我就搞不明白了,官网都有免费的我要你的收费软件干嘛 首先直接搜索java,进入Oracle,或者 Java SE ...