Ansible - [02] 基础配置以及常用操作场景
Ansible 基础配置
- 主配置文件:
/etc/ansible/ansible.cfg - ansible配置文件查找顺序
- 首先检测
ANSIBLE_CONFIG变量定义的配置 - 其次检查当前目录下的
./ansible.cfg文件(可以在任意目录创建ansible目录,并参考默认ansible.cfg文件配置ansible.cfg文件) - 再次检查当前用户家目录下
~/ansible.cfg文件 - 最后检查
/etc/ansible/ansible.cfg文件
- 首先检测
Ansible 配置案例
1、在/root目录下创建ansible目录,并参考/etc/ansible/ansible.cfg配置对应的cfg文件
mkdir -p /root/ansible
cd /root/ansible
vim ansible.cfg
2、ansible.cfg 参数解析
[defaults]
inventory = ~/ansible/hosts
#forks = 5
#ask_pass = True
#remote_port = 22
#host_key_checking = False
inventory:主机清单配置文件
forks:ssh并发数量
ask_pass:使用密钥还是密码远程
host_key_checking:是否校验秘钥
3、配置 ~/ansible/hosts
[root@node01 ansible]# pwd
/root/ansible
[root@node01 ansible]# cat hosts
[master]
node01
[agent]
node02
[webserver]
node0[3:4]
[database]
node05
[cluster:children]
webserver
database
[master]:中括号可以设置主机组,组名任意
[cluster:children]:嵌套组,可以在主机组cluster下配置子组(PS:children是关键字)
4、如果没有配置SSH免密可以在hosts文件中进行以下配置
[root@node01 ansible]# cat hosts
[master]
node01
[agent]
node02,node03,node04
[master:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456
ansible_become_pass=123456
[master:vars]:vars是关键字,给主机组master配置对应的参数
ansible_ssh_user:执行ansible命令时,配置使用的用户是root还是其他用户
ansible_ssh_pass:执行ansible命令时,配置root或其他用户对应的密码
ansible_become_pass:这个参数是在执行ansible命令遇到需要提升权限(例如sudo)时,sudo用户的密码(root用户的密码)
Ansible 使用场景
1、查看所有主机列表
[root@node01 ansible]# ansible all --list-hosts
hosts (4):
node01
node02
node03
node04
2、测试网络连通情况
# 可以根据主机名进行测ping
[root@node01 ansible]# ansible node01 -m ping
node01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
# 也可以根据主机组名进行测ping
[root@node01 ansible]# ansible agent -m ping
node02,node03,node04 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname node02,node03,node04: Name or service not known",
"unreachable": true
}
3、执行shell命令,查看seliux的配置
[root@node01 ansible]# ansible master -m shell -a "cat /etc/selinux/config"
node01 | CHANGED | rc=0 >>
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
4、通过嵌套主机组对多个主机组进行操作
[root@node01 ansible]# ansible cluster -m ping
node01 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
node02 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
node04 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
node03 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
[root@node01 ansible]#
[root@node01 ansible]#
[root@node01 ansible]# cat hosts
[master]
node01
[agent]
node02
node03
node04
[master:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456
ansible_become_pass=123456
[agent:vars]
ansible_ssh_user=root
ansible_ssh_pass=123456
ansible_become_pass=123456
[cluster:children]
master
agent
Ansible - [02] 基础配置以及常用操作场景的更多相关文章
- Fedora 28 系统基础配置以及常用软件安装方式
实验说明: 很多人说Linux很难用,很难上手,其实不然,倘若不玩游戏,其实很多发行版Linux都可以成为主力系统,就比如本章要讲的 Fedora 28.本章会从镜像来源.系统安装.基础配置和常用软件 ...
- Hibernate 基础配置及常用功能(三)
本章重点讲述Hibernate对象的三种状态以及如何配置二级缓存 有关Hibernate的三种状态如何相互转换网上都能查到,官方文档描述的也比较详细.这里主要是针对几个重点方法做代码演示. 一.状态转 ...
- Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
注意:首先准备jenkins服务器 如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...
- python基础之列表常用操作及知识点小结
列表(list) List(列表) 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.它支持字符,数字,字符串甚至可以包含列表(所谓嵌套).列表用[ ]标识,是pyth ...
- Python基础灬文件常用操作
文件常用操作 文件内建函数和方法 open() :打开文件 read():输入 readline():输入一行 seek():文件内移动 write():输出 close():关闭文件 写文件writ ...
- Ansible基础配置与常用模块使用
环境介绍: Ansible服务端IP:192.168.2.215 Ansible客户端IP:192.168.2.216.192.168.2.218.192.168.2.113 一.创建Ansibl ...
- CloudEngine 6800基础配置-02_常用命令操作
查看未提交配置 system-view ftp server enable display configuration candidate 删除未提交的配置 clear configurati ...
- Ansible 快速安装配置,常用模块
Ansible是一个轻量级的工具,基于python语言实现,通过python中的paramiko来连接并管理机器, 功能强大(YAML,PlayBook,模块化功能),不需要安装客户端, 通过ssh连 ...
- Hibernate 基础配置及常用功能(二)
本章主要是描述几种经典映射关系,顺带比较Hibernate4.x和Hibernate5.x之间的区别. 一.建立测试工程目录 有关实体类之间的相互映射关系,Hibernate官方文档其实描述的非常详细 ...
- Hibernate 基础配置及常用功能(一)
本来是想等全部框架测试完以后再统一发布的,但是随着测试的一点点增加感觉把需要叙述的东西放在一起终将会是一场灾难.所以还是打算分成几章来描述,其中还包括一些有待解决的问题.短期很难腾出时间来仔细阅读Hi ...
随机推荐
- SQL Server Profiler的trc文件生成阻止
很奇葩,sqlserver自动生成trc文件,每分钟一个,重启服务器也没用. 解决思路: 查询现在正在跑的trace进程 select * from sys.fn_trace_getinfo(0); ...
- npm install报错的解决方法
解决方法 node版本不对,问问前端开发,node版本是什么版本,用nvm install,并切换到正常的node版本: git代码有时候会有冲突,把前端项目中的依赖包node_modules 和 p ...
- 硬盘空间消失之谜:Linux 服务器存储排查与优化全过程
前言 最近线上服务经常出现一些奇奇怪怪的问题,比如网页上的静态资源加载不出来,或者请求后端莫名报错,又或者 Redis 报错- 当我 SSH 登录到服务器上时,更不对劲了,敲个命令都卡顿- 如果是以前 ...
- 【单片机】I/O口实验
要求:拨动开关,让所亮小灯位置左移或者右移 #include <STC8.H> #include <intrins.h> void delay(){ int i,j; for( ...
- Ubuntu 的网络图标不见了,怎么解决
1. 问题 Ubuntu 的网络图标不见了 2. 解决 service network-manager status # 此时,你会发现状态是 active(running),不用管 service ...
- Qt音视频开发17-vlc内核回调拿图片进行绘制
一.前言 在众多播放器中,支持的种类格式众多,并支持DVD影音光盘,VCD影音光盘及各类流式协议,提供了sdk进行开发,这点是至关重要的,尽管很多优秀的播放器很牛逼,由于没有提供sdk第三方开发,少了 ...
- Qt编写可视化大屏电子看板系统22-平滑曲线图
一.前言 平滑曲线是所有涉及到曲线图的项目中,绕不开的一个话题,尽管很多人爱看折线图,但是很多时候来个平滑曲线图,会更加赏心悦目,这就好比现在的手机app移动客户端上,从最初的四方四正到现在的平滑圆角 ...
- Qt编写安防视频监控系统43-图片回放
一.前言 之前就已经具备了本地回放.远程回放.设备播放3个模块,其中本地回放用来回放存储在软件本地电脑上的视频文件:远程回放需要通过调用厂家sdk或者GB28181(没实现,后期考虑增加)从NVR回放 ...
- G1原理—1.G1回收器的分区机制
大纲 1.G1垃圾回收器的分区(Region大小+G1分区+Region过大过小和计算) 2.Region大小的计算原理(先转字节然后确定2的n次幂再通过1左移n位) 3.新生代分区及自动扩展(新生代 ...
- Ceisum三维场景demo
技术栈&资源 框架:EarthSDK(基于cesium二次开发包) 底图:Arcgis公开地图服务 楼栋白膜:自有shape数据,使用CesiumLab切片为tileset.json glb模 ...