当前位置: 首页 > news >正文

linux ansible(三)

ansible 配置详解
3.1 ansible 安装方式
ansible安装常用两种方式,yum安装和pip程序安装

3.1.1 使用 pip(python的包管理模块)安装
需要安装一个python-pip包,安装完成以后,则直接使用pip命令来安装我们的ansible包

[root@localhost ~]$ yum install python-pip
[root@localhost ~]$ pip install ansible
 

3.1.2 使用 yum 安装
需要先安装一个epel-release包,然后再安装 ansible 即可。

[root@localhost ~]$ yum -y install epel-release
[root@localhost ~]$ yum -y install ansible
 

3.2 ansible 程序结构
安装目录如下(yum安装):

配置文件目录:/etc/ansible/
执行文件目录:/usr/bin/
Lib库依赖目录:/usr/lib/pythonX.X/site-packages/ansible/
Help文档目录:/usr/share/doc/ansible-X.X.X/
Man文档目录:/usr/share/man/man1/

3.3 ansible配置文件

inventory = /etc/ansible/hosts		  #这个参数表示资源清单inventory文件的位置
library = /usr/share/ansible		 #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
forks = 5		                      #并发连接数,默认为5
sudo_user = root		              #设置默认执行命令的用户
remote_port = 22		              #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
ask_pass = True                #是否需要密码
host_key_checking = False		     #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
timeout = 60		                #设置SSH连接的超时时间,单位为秒
log_path = /var/log/ansible.log		#指定一个存储ansible日志的文件(默认不记录日志)

3.4 ansuble主机清单
在配置文件中,我们提到了资源清单,这个清单就是我们的主机清单,里面保存的是一些 ansible 需要连接管理的主机列表。在/etc/ansible/hosts文件内

直接指明主机地址或主机名:

[root@localhost ~]$ vim /etc/ansible/hosts 
## green.example.com#
# blue.example.com#
# 192.168.100.1
# 192.168.100.10
 

定义一个主机组[组名]把地址或主机名加进去

[root@localhost ~]$ vim /etc/ansible/hosts 
[mysql_test]
192.168.253.159 ansible_user=root ansible_port=22 ansible_ssh_pass=root
192.168.253.160 ansible_user=root ansible_port=22 ansible_ssh_pass=root
192.168.253.153 ansible_user=root ansible_port=22 ansible_ssh_pass=root
 

还可以使用密钥对配置免密登录
服务端生成密钥对

[root@localhost ~]$ ssh-keygen    #一路回车
  • 然后把公钥传到被控端
[root@localhost ~]$ ssh-copy-id root@192.168.37.122

 vars变量 :定义主机的内置参数
定义属于整个组的变量

[root@localhost ~]$ vim /etc/ansible/hosts 
[test]
host1
host2[test:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com

嵌套定义vars

#编写主机组
[group1]
group1.linux.com[group2]
group2.example.com[group:children]
group1
group2#嵌套变量定义
[group:vars]   ##用var进行标识
user=studen    ##以字典方式定义

http://www.lryc.cn/news/171413.html

相关文章:

  • Anaconda和Pycharm详细安装 配置教程
  • 利用Linux虚拟化技术实现资源隔离和管理
  • 12基于MATLAB的短时傅里叶变换( STFT),连续小波变换( CWT),程序已调通,可以直接运行。
  • k8s使用时无法ping通服务器From IP地址 icmp_seq=1 Destination Host Unreachable
  • 两种风格的纯CSS3加载动画
  • Spring Cloud Eureka:服务注册与发现
  • 安防监控视频云存储平台EasyNVR对接EasyNVS时,一直不上线该如何解决?
  • 【完美解决】GitHub连接超时问题 Recv failure: Connection was reset
  • cpolar内网穿透
  • go语言操作数据库
  • zabbix实现钉钉报警
  • 基于微信小程序的语言课学习系统设计与实现(源码+lw+部署文档+讲解等)
  • R 语言画图中英文字体解决方案
  • Golang反射相关知识总结
  • go语言初学(备忘)
  • 免费获取独立ChatGPT账户!!
  • 4.docker容器编排(docker compose 与 docker swarm)
  • Linux中配置sudo用户访问权限
  • ASfP: 增强AOSP平台开发的利器——Android Studio for Platform
  • 【Html】用CSS定义咖啡 - 咖啡配料展示
  • Learn Prompt-Prompt 高级技巧:AutoGPT
  • IntelliJ IDEA - Maven 在控制台Maven编译正常,但是在IDEA中不正常,表现不一致
  • list 用法与模拟
  • 【操作系统笔记】进程和线程
  • 一短文读懂编译型与解释型编程语言
  • 修炼离线:(三)sqoop插入hbase 报错权限问题
  • 【JavaEE】多线程(四)
  • 第一章:最新版零基础学习 PYTHON 教程(第七节 - Python 中的语句、缩进和注释)
  • C++ 【2】
  • Java学习笔记40——Lambda表达式