首页 > 其他分享 >ansible配置文件详解

ansible配置文件详解

时间:2023-02-25 19:34:16浏览次数:29  
标签:配置文件 sudo ansible usr plugins root 详解

一、简介

Ansible的默认配置文件是/etc/ansible/ansible.cfg,如果ansible的工作目录里没有ansible.cfg那么默认使用全局的配置文件,如果有的话使用工作目录里的配置文件,这一点和inventory类似。

如果存在多个配置文件,那么可能会搞错,不知道用的是哪个怎么办,ansible为我们提供了一个查询命令:

[root@master ~]# ansible --version
ansible 2.9.18
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible

  python version = 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

上面的输出使用的是全局的默认配置文件,因为当前目录不包含ansible.cfg文件,如果有这个文件输出内容就会是下面这个样子:

[root@master ~]# cd ansible/
[root@master ansible]# ls
ansible.cfg  copy_repo.yml  inventory  pushsshkey.yaml  remove_k8s.yaml  update_kernel.yml  update_vim8.yml  yum_install_etcd_3.yml
[root@master ansible]# ansible --version
ansible 2.9.18
  config file = /root/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible

  python version = 2.7.5 (default, Jun 20 2019, 20:27:34) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

除了ansible --version还有一个命令可以显示配置文件的信息,在执行命令的的时候加上 -v选项,如下:

[root@master ansible]# ansible k8s_nodes --list-hosts -v
Using /root/ansible/ansible.cfg as config file
  hosts (3):
    node1
    node2

    node3

二、管理ansible.cfg配置文件的设置

Ansible的配置文件由几个部分组成,每一个部分包含以键值对形式定义的设置,标题以方括号括起。看一下默认配置文件的几个部分:
1. defaults

[defaults]
 
#inventory      = /etc/ansible/hosts   //定义Inventory
#library        = /usr/share/my_modules/  //自定义lib库存放目录
#remote_tmp     = ~/.ansible/tmp       //零时文件远程主机存放目录
#local_tmp      = ~/.ansible/tmp       //零时文件本地存放目录
#forks          = 5                    //默认开启的并发数
#poll_interval  = 15                   //默认轮询时间间隔
#sudo_user      = root                 //默认sudo用户
#ask_sudo_pass = True                  //是否需要sudo密码
#ask_pass      = True                  //是否需要密码
#host_key_checking = False             //首次连接是否检查key认证
#roles_path    = /etc/ansible/roles    //默认下载的Roles存放的目录
#log_path = /var/log/ansible.log       //执行日志存放目录
#module_name = command                 //默认执行的模块
#action_plugins     = /usr/share/ansible/plugins/action //action插件存放目录
#callback_plugins   = /usr/share/ansible/plugins/callback //callback插件存放目录
#connection_plugins = /usr/share/ansible/plugins/connection  //connection插件存放目录
#lookup_plugins     = /usr/share/ansible/plugins/lookup //lookup插件存放目录
#vars_plugins       = /usr/share/ansible/plugins/vars //vars插件存放目录
#filter_plugins     = /usr/share/ansible/plugins/filter //filter插件存放目录
#test_plugins       = /usr/share/ansible/plugins/test //test插件存放目录
#strategy_plugins   = /usr/share/ansible/plugins/strategy //strategy插件存放目录
#fact_caching = memory                 //getfact缓存的主机信息存放方式
#retry_files_enabled = False              

#retry_files_save_path = ~/.ansible-retry  //错误重启文件存放目录

2. privilege_escalation

[privilege_escalation]
#become=True            //是否sudo
#become_method=sudo     //sudo方式
#become_user=root       //sudo后变为root用户

#become_ask_pass=False  //sudo后是否验证密码

3. paramiko_connection

[paramiko_connection]
#record_host_keys=False //不记录新主机的key以提升效率

#pty=False              //禁用sudo功能

4. ssh_connection

[ssh_connection]

#pipelining = False   //管道加速功能,需配和requiretty使用方可生效

5. selinux

[selinux]

#libvirt_lxc_noseclabel = yes  //selinux配置

6. colors

[colors]
#highlight = white
#verbose = blue
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red

#diff_lines = cyan

三、ansible工作目录里常用的配置文件

这里简单说一下2个部分的配置,[defaults]和[privilege_escalation],示例如下:

[defaults]
inventory = ./inventory
remote_user = root
ask_pass = false
[privilege_escalation]
become=True
become_method=sudo
become_user=root

become_ask_pass=False

inventory

指定清单文件的路径

remote_user

要在受管主机上登录的用户名,如果未指定使用当前用户

ask_pass

是否提示输入SSH密码,如果使用ssh公钥身份验证,则可以是false

become

表示连接后是否在受管主机上切换用户(通常切换为root)

become_method

如何切换用户,sudo 或者 su

become_user

要在受管主机上要切换成为的用户,通常是root,也是默认值

become_ask_pass

是否需要为become_method提示输入密码,默认false

 

转自:https://www.cnblogs.com/mfyang/p/15137991.html

标签:配置文件,sudo,ansible,usr,plugins,root,详解
From: https://www.cnblogs.com/z-books/p/17155157.html

相关文章

  • mybatis核心配置文件—设置别名typeAliases
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dt......
  • lscpu 命令详解
    一、lscpu输出使用lscpu查看的结果如下图,这里会显示很多信息,如下:使用lscpu-p会详细的numa信息,如下: [root@localhost~]#lscpu-p#Thefollowingistheparsabl......
  • Java 正则表达式详解
    总结:搜索(匹配):在一个字符串中搜索出一个或多个与正则表达式相匹配的子字符串。搜索又分为匹配和子字符串搜索。匹配是对用户所提供的整个字符串进行判断,看其是否匹......
  • dfs详解
    dfs详解1,基本概念dfs是深度优先遍历算法,对树状结构进行深度搜索,从开头一直搜索到目标解,如果搜索到最后不是目标解,就会回溯到第一步,相当于在很多岔路口,每一条路都会走到底......
  • Dockerfile命令详解之 RUN(一)
     语法#该命令以shell形式运行,Linux默认为/bin/sh-c,Windows默认为cmd/S/CRUN<command> 或者#exec格式,由于exec格式会被解析成为json数组,所以,必须使用双引号RUN[......
  • java security 详解_Spring Security入门教程
    SpringSecurity的简单使用简介SSM整合Security是比较麻烦的,虽然Security的功能比Shiro强大,相反却没有Shiro的使用量多SpringBoot出现后简化了Spring系列的配置......
  • 详解Apache Sentry->Ranger平滑升级方案
    摘要:本文主要探讨如何平滑解决sentry到ranger升级过程中的权限迁移问题。本文分享自华为云社区《【平滑上云】ApacheSentry->Ranger平滑升级方案》,作者:啊喔YeYe。背景......
  • shell脚本修改配置文件案例
    [root@bigdata01~/install]#vimchange-yarn-site.sh#!bin/bash#此脚本对大数据集群所有节点的yarn-site.xml文件根据集群配置自动更改对应配置。HOST_LIST=`grep'bi......
  • Android 基础知识4-2.10 GridLayout(网格布局)详解
    一、GridLayout(网格布局)概述        GridLayout布局是Android4.0以后引入的新布局,和TableLayout(表格布局)有点类似,不过它功能更多,也更加好用,最大的特点是放......
  • Android 基础知识4-2.9 FrameLayout(帧布局)详解
    一、FrameLayout(帧布局)概述        FrameLayout又称作帧布局,它相比于LinearLayout和RelativeLayout要简单很多,因为它的应用场景也少了很多。这种布局没有方便的定位......