配置文件

ansible的配置文件只有一个,即ansible.cfg,它可以存在于多个地方,ansible读取配置文件的顺序依次是当前命令执行目录->用户家目录下的.ansible.cfg->/etc/ansible.cfg,先找到哪个就使用哪个。

我这里使用docker作为测试工具,使用冻仁提供的镜像作为线上服务器使用,具体配置可以看链接内的介绍,这里贴出简单操作步骤

// 拉取镜像
docker pull chusiang/ansible-managed-node:centos-7
// 建立并执行容器
docker run --name server1 -d -P chusiang/ansible-managed-node:centos-7
// 查看容易绑定的端口,之后有用
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a59028c1842 chusiang/ansible-managed-node:centos-7 "/usr/sbin/sshd -D" 2 hours ago Up 2 hours 0.0.0.0:32773->22/tcp server1

添加配置文件

首先建立一个新文件夹,然后创建ansible.cfg文件

mkdir ansible
cd ansible
vi ansible.cfg
// 输入内容
[defaults]
host_key_checking = False // 首次连接是否需要检查key认证
remote_user = docker // 此处为镜像配置好的,其他地方一般不需要指定
inventory = hosts // 存储目标主机分组列表,此处写hosts会从当前目录的hosts文件开始查找

ansible inventory配置

inventory是管理主机信息的配置文件

定义主机和组

inventory可以用一下方式配置

  • 直接为ip地址
192.168.0.2
  • ip + 端口号
192.168.0.2:22
  • 分组,中括号内的内容标识一个分组的开始,气候的主机均属于该组成员,空行后的主机仍属于该组
// 此处例子为实际使用例子
vi hosts
// 输入
server1 ansible_ssh_host=127.0.0.1 ansible_ssh_port=32773 ansible_ssh_pass=docker [local]
server1 // 如果有多台主机可以这么设置,[1:10]表示1~10之间的所有数字(字母同理)
server[1:10]

ansible正则

基本用法

ansible <pattern> -m <module_name> -a <arguments>

一些基本模式

All(全量)匹配

匹配所有主机,all*号功能相同,如下例

// 检测所有主机存活情况
ansible all -m ping
ansible "*" -m ping

逻辑或(or)匹配

如果希望同时对多台主机或多个组执行,相互之间用“:”分隔。

ansible "server1:server2" -m ping

逻辑非(!)匹配

主要针对多重条件的匹配规则

webservers:!phoenix

逻辑与(&)匹配

也主要针对多重条件的匹配规则

webservers:&staging

模糊匹配

使用*通配符表示一个或多个字符

server*

域切割

可以直接使用python语法的切割

正则表达式

使用"~"开始标识正则匹配

参考书目:《Ansible权威指南》

ansible--ansible基础的更多相关文章

  1. ansible学习基础知识和模块(一)

    基础知识补充: 常用自动化运维工具 Ansible:使用python来开发的,无需设置Agentless(代理),一般管理几百台.与ssh的方式也不一样,ssh是基于c/s模式(客户端+服务器)来使用 ...

  2. Ansible playbook基础组件介绍

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

  3. ansible入门四(Ansible playbook基础组件介绍)

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

  4. ansible入门三(Ansible的基础元素和YAML介绍)

    Ansible的基础元素和YAML介绍   本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一.YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式 ...

  5. ansible的基础使用(一)

    ansible基础使用(一) ansible的主要功能 A:为什么是ansible B:ansible的安装 C:ansible的相关文件 D:ansible的基本使用 ansible的简单操作 A: ...

  6. Centos 7.2 Jenkins+Ansible+Gitlab 基础配置

    注意:首先准备jenkins服务器  如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...

  7. ansible之基础篇(一)

    ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量 ...

  8. ansible的基础概念与部署(一)

  9. ansible Ansible Galaxy ansible-playbook 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源

    笔记 ansible 安装 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置 ...

  10. Ansible的基础元素和YAML介绍

    本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一.YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式.YAML参考了其他多种语言,包括:XML. ...

随机推荐

  1. c++第二周阶段小测2

    函数参数已完成(全部是正确答案)     1 [单选题] 以下关于函数参数的说法,不正确的是   A. 函数调用时,先将实参的值按照位置传递给对应的形参. B. 实参与形参的个数及顺序不必一一对应. ...

  2. C#制作密码文本框

    2020-03-14 每日一例第7天 1.新建窗体windowform,修改text值: 2.两个按钮后台代码: private void button1_Click(object sender, E ...

  3. Redis(9)——史上最强【集群】入门实践教程

    一.Redis 集群概述 Redis 主从复制 到 目前 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然 ...

  4. go例子(三) 使用context实现发牌手策略

    使用context包实现发牌手策略, 发牌手策略:罗永浩在介绍TNT工作站时描述,将一个任务分发给多个处理者处理,谁先处理完使用谁的结果,取消其他的处理者的任务. 经典的例子:同时在百度.google ...

  5. python turtle笔记

      Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它 ...

  6. SpringMVC框架——自定义数据类型转换器

    Spring MVC 框架的 Converter<S,T> 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型. 开发中如果需要自定义数据类型转换时 ...

  7. Python基础 | 关于“循环”那些事

    目录 for 循环 list range enumerate zip while 循环 while相当于if时 while充当for和if的混合体 泛循环 列表解析 map 迭代器 生成器 循环的跳出 ...

  8. System.Text.Json 序列化对所有 JSON 属性名称使用 camel 大小写

    asp.net core3.x 新增的序列号接口System.Text.Json 序列化时,如果要对所有 JSON 属性名称使用 camel 大小写 将 JsonSerializerOptions.P ...

  9. cmdb客户端采集数据的完善

    file文件自己去拷贝(这里不提供) custom_settings.py import os BASEDIR = os.path.dirname(os.path.dirname(os.path.ab ...

  10. python使用argparse 、paramiko实现服务器管理器

    使用argparse,paramiko两个包去实现简易的服务器管理器,完成两种方式的连接( 密码和密钥 ),以及命令行交互,文件上传下载. 相比sys.argv的方式去判断传入的参数,如果参数较多那么 ...