ansible--ansible基础
配置文件
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基础的更多相关文章
- ansible学习基础知识和模块(一)
基础知识补充: 常用自动化运维工具 Ansible:使用python来开发的,无需设置Agentless(代理),一般管理几百台.与ssh的方式也不一样,ssh是基于c/s模式(客户端+服务器)来使用 ...
- Ansible playbook基础组件介绍
本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...
- ansible入门四(Ansible playbook基础组件介绍)
本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...
- ansible入门三(Ansible的基础元素和YAML介绍)
Ansible的基础元素和YAML介绍 本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一.YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式 ...
- ansible的基础使用(一)
ansible基础使用(一) ansible的主要功能 A:为什么是ansible B:ansible的安装 C:ansible的相关文件 D:ansible的基本使用 ansible的简单操作 A: ...
- Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
注意:首先准备jenkins服务器 如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...
- ansible之基础篇(一)
ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量 ...
- ansible的基础概念与部署(一)
- ansible Ansible Galaxy ansible-playbook 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源
笔记 ansible 安装 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置 ...
- Ansible的基础元素和YAML介绍
本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一.YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式.YAML参考了其他多种语言,包括:XML. ...
随机推荐
- ggplot2(4) 用图层构建图像
4.1 简介 qplot()的局限性在于它只能使用一个数据集和一组图形属性映射,解决这个问题的办法就是使用图层.每个图层可以有自己的数据集和图形属性映射,附加的数据元素可通过图层添加到图形中. 一个图 ...
- Vue2.0 【第一季】第2节 v-if v-else v-show 指令
目录 Vue2.0 [第一季]第2节 v-if v-else v-show 指令 第二节 v-if v-else v-show 指令 2.1 v-if指令.v-else指令: 2.2 v-show的使 ...
- npm run build时卡住不动了...
在build文件夹里有个check-versions.js. if (shell.which('npm')) { versionRequirements.push({ name: 'npm', cur ...
- 谈谈SQL优化
写SQL是学习数据库必须掌握的非常重要的技能之一.在学习过程当中,我们会尝试写各种各样满足需求的SQL语句.在实际项目中,优秀的SQL语句和普通的SQL语句的执行速度差别非常大.对于一个数据量很大的系 ...
- Canvas方法总结
渲染上下文 getContext() // 获得渲染上下文和它的绘画功能 绘制形状 绘制矩形 fillRect(x, y, width, height) // 绘制一个填充的矩形 strokeRect ...
- Java 14 发布了,可以扔掉Lombok了?
2020年3月17日发布,Java正式发布了JDK 14 ,目前已经可以开放下载.在JDK 14中,共有16个新特性,本文主要来介绍其中的一个特性:JEP 359: Records 官方吐槽最为致命 ...
- Servlet(四)----Request
## Request 1.request对象和response对象的原理 1.request和response对象是由服务器创建的.我们来使用他们. 2.request对象是来获取请求消息,resp ...
- golang工具之present - 编写go特色的ppt
简介: Golang Present 是 Golang 社群开发出來的一个简单工具,通过简单的语法可以制作 ppt(语法近似于 Markdown). 默认文件格式是 .slide ,是随着 gol ...
- deepin 系统 ssh,samba,redis,取消开机密码等相关配置
ssh安装 sudo apt-get install openssh-server service ssh start ssh root 用户登入配置 安装完毕,运行命令"sudo vi / ...
- Pandas和Numpy的一些金融相关的操作(一)
Pandas和Numpy的一些金融相关的操作 给定一个净值序列,求出最大回撤 # arr是一个净值的np.ndarray i = np.argmax( (np.maximum.acumulate(ar ...