Ansible的安装及部署

1、环境:
真机(主控机,可上网):172.25.254.31
虚拟机(受控机):172.25.254.131/172.25.254.213

2、ansible的安装
主控机端:
安装ansible
dnf install ansible.noarch -y
#因为已经搭建好软件仓库,所以可直接安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#也可在网上安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ansible的基本信息:
/etc/ansible/ansible.conf #全局配置变量,默认很少修改
/etc/ansible/hosts #全局主机清单文件

3、构建ansible清单
#清单就是ansible控制主机的列表
/etc/ansible/hosts

直接书写受管主机名或ip,每行一个
node1.westos.com
172.25.254.131
在这里插入图片描述
设定受管主机的组(组名称)
#清单查看:
ansible 清单中组的名称 [-i 清单文件] --list-hosts
ansible -i /mnt/westos ungrouped --list #没在组内的
ansible westos --list #显示westos组
在这里插入图片描述
在这里插入图片描述
单层清单
在这里插入图片描述
在这里插入图片描述
嵌套清单
在这里插入图片描述
在这里插入图片描述
主机规格的范围化操作
#通过指定主机名称或IP的范围可以简化ansible主机清单
172.25.254.[1:10]
node[1:10].westos.org
在这里插入图片描述
在这里插入图片描述
指定其他清单文件
vim /mnt/westos
ansible -i /mnt/westos all --list
在这里插入图片描述
ansible命令指定清单的正则表达式

*          #所有#逻辑或&	#逻辑与

:!	    #逻辑非

~	#以关键字开头

~(str1|str2)	#以条件一或者条件二开头

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、ansible配置文件参数详解
vim /etc/ansible/hosts
在这里插入图片描述
在这里插入图片描述
absible 清单中组的名称 -m 模块 -u remote_user

配置文件的分类与优先级
/etc/ansible/ansible.cfg #基本配置文件,找不到其他配置文件此文件生效
~/.ansible.cfg #用户当前目录中没有ansible.cfg此文件生效
./ansible.cfg #优先级最高

常用配置参数
#default #基本信息设定
#inventory = #指定清单路径
#remote_user = #在受官管主机上登陆的用户名称,未指定当前用户
#ask_pass = #是否提示输入ssh密码,如果公钥登陆设定为false
#library = #库文件存放目录
#remote_tmp = #远程主机临时py命令文件存放目录
#local_tmp = #本机临时命令执行目录
#forks = #默认并发数量
#host_key_checking = #第一次连接受管主机时是否要输入yes建立host_key
#sudo_user = #默认sudo用户
#ask_sudo_pass = #每次在受控主机执行ansible命令时是否询问sudo密码
#module_name = #默认模块,默认使用command,可以修改为shell
#log_path = #日至文件路径

[privilege_escalation] #身份信息设定
#become= #连接后是否自动切换用户
#become_method= #设定切换用户的方式,通常为sudo
#become_user=root #在受管主机中切换到的用户,通常为root
#become_ask_pass= #是否需要为become_method提示输入密码,默认为false

控制端:
vim /etc/ansible/ansible.cfg
在这里插入图片描述
ansible westos -m shell -a ‘hostname’ -k
#k输入密码,a:表示在前面里面执行的命令,在shell里面执行hostname
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前面都很麻烦,需要输入ssh密码和sudo密码,因而我们可以让它都免密
主机端:
ssh-keygen
在这里插入图片描述
cd /root/.ssh/
ssh-copy-id -i id_rsa.pub westos@172.25.254.131
ssh-copy-id -i id_rsa.pub westos@172.25.254.213
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
客户端:
visudo
在这里插入图片描述
测试:
在主机端
ansible westos -m shell -a ‘useradd test’
在这里插入图片描述

但主机端不一定每个客户端都想用westos登陆,因而可考虑子配置文件
在这里插入图片描述
在这里插入图片描述
cd .ansible/
cp /etc/ansible/ansible.cfg .
在这里插入图片描述
vim ansible.cfg
在这里插入图片描述
#module_name =shell #指定模块为shell
在这里插入图片描述
tail /etc/ansible/hosts > inventory
在这里插入图片描述
ansible westos -a id #因为已经指定模块为shell,不必写-m
ansible westos -m command -a ‘id’ #指定为shell,所以想在command模块执行需指定
在这里插入图片描述
ansible westos -m ping #查看能不能ping通
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值