ansible 安装部署即使用

ansible 安装部署即使用

ansible 安装部署即使用

部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
默认使用SSH协议对设备进行管理;
有大量常规运维操作模块,可实现日常绝大部分操作;
配置简单、功能强大、扩展性强;
支持API及自定义模块,可通过Python轻松扩展;
通过Playbooks来定制强大的配置、状态管理;
轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。

ansible的架构

Ansible:Ansible核心程序。
Host Inventory:记录由Ansible管理的主机信息,包括端口、密码、ip等。
Playbooks:“剧本”YAML格式文件,多个任务定义在一个文件中,定义主机需要调用哪些模块来完成的功能。
CoreModules:核心模块,主要操作是通过调用核心模块来完成管理任务。
CustomModules:自定义模块,完成核心模块无法完成的功能,支持多种语言。
ConnectionPlugins:连接插件,Ansible和Host通信使用

ansible 安装

  1. 下载并安装

    python2-jmespath-0.9.4-2.el7.noarch.rpm

    python-httplib2-0.9.2-1.el7.noarch.rpm

    sshpass-1.06-1.el7.x86_64.rpm

    ansible-2.9.27-1.el7.noarch.rpm

    添加yum源,请参考:

    https://blog.csdn.net/qq_41187116/article/details/125702966?spm=1001.2014.3001.5502

    yum install ansible -y
    

    在这里插入图片描述

tree /etc/ansible

在这里插入图片描述

ansible配置

  1. ansible 的配置文件为/etc/ansible/ansible.cfg,ansible 有许多参数,下面我们列出一些常见的参数:
vi etc/ansible/ansible.cfg
# 修改或者添加如下内容

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

  1. host配置

    vi /etc/ansible/hosts
    # 添加以下内容
    [test]
    lsyk02
    [prod]
    lsyk03
    [test2]
    lsyk04
    [prod2]
    lsyk05
    
  2. 配置ansible主机与其他受控机器的免密ssh

    请参考:https://blog.csdn.net/qq_41187116/article/details/125702854?spm=1001.2014.3001.5502

ansible 测试

 # 全部受控机器执行
 ansible all -m ping
 
 # 指定受控机器执行
  ansible test:prod2:test2 -m ping
  

在这里插入图片描述

ansible使用

  1. ansible-doc [参数] [模块…]
    ansible-doc -l %列出可用模块
    ansible-doc -s %显示指定模块的playbook片段##

  2. ansible 清单 -m 模块 -a 模块参数

    常用的模块如下:

    ansible all -m ping :命令来进行主机连通性测试

    ansible all -m command -a “useradd lee” -u root -k :在远程主机执行命令,并将结果返回本主机。

    ansible all -m command -a "useradd lee" -u root -k
    ansible all -m command -a "userdel -r lee" -u root -k
    ansible all -m command -a "chdir=/etc cat passwd " -u root -k
    ansible all -m command -a "chdir=/etc creates=/etc/passwd cat passwd " -u root -k 
    ansible all -m command -a "chdir=/etc removes=/etc/passwd cat passwd " -u root -k
    
    

    ansible all -m copy -a :从ansible主机复制文件到受控主机

    ansible all -m copy -a "src=/root/westos dest=/mnt/westos  owner=lee mode=777 backup=yes"
    ansible all -m copy -a "content='hello westos\nhello linux\n' dest=/mnt/westosfile1 owner=lee mode=600"
    
    

    ansible all -m user -a :块可以帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值