Ansibles使用

Ansibles使用

安装(centos)

  • 使用 yum 安装

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

yum install epel-release -y
yum install ansible –y
  • 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/

  • ansible默认host文件

可以在执行ansible的时候指定host文件路径(-i)

/etc/ansible/hosts
  • ansible配置文件查找顺序

ansible与我们其他的服务在这一点上有很大不同,这里的配置文件查找是从多个地方找的,顺序如下:

  1. 检查环境变量ANSIBLE_CONFIG指向的路径文件(export ANSIBLE_CONFIG=/etc/ansible.cfg);
  2. ~/.ansible.cfg,检查当前目录下的ansible.cfg配置文件;
  3. /etc/ansible.cfg检查etc目录的配置文件。

密钥设置

在进行ansible的作业之前还需要对要远程控制的机器做一个免密登录,方便后续直接执行ansible脚本

  • 管理机生成密钥对

-t 指定加密的方式,默认为rsa
-f filename指定密钥文件名,不指定提示生成的密钥放在/root/.ssh/id_dsa

ssh-keygen -t dsa -f /root/.ssh/id_dsa
  • 查看密钥
# ll /root/.ssh/
总用量 12
-rw------- 1 root root 668 5月  14 2020 id_dsa       #生成后的私钥文件
-rw-r--r-- 1 root root 610 5月  14 2020 id_dsa.pub   #公钥文件   
-rw-r--r-- 1 root root 544 5月  14 2020 known_hosts
  • 分发密钥
ssh-copy-id [email protected] -p 22
# user 为用户名
# -p 指定端口,有的默认22端口关闭了ssh

使用

  • 每次执行ansible的返回的信息,字体颜色解析

黄色:成功执行并伴随着状态的改变
绿色:成功执行并且没有发生状态的改变
红色:执行失败

  • ping 模块使用

-i host : -i 指定hosts文件路径,可以不使用/etc/ansible/hosts
-m ping : -m 指定使用ping模块
slave :为自定义hosts文件中的主机分组名称

ansible slave -i hosts -m ping
  • copy 模块的使用

-m copy 指定模块
-a "" 增加参数设置 owner=user 归属者 mode=0640 指定文件的权限

# ansible 主机 -m copy -a "src=源文件 dest=目标主机"
ansible slave -i hosts -m copy -a "src=/temp/ansible-test.txt dest=/home/user/"
  • shell 模块使用

直接执行shell指令
-a " " : 为参数设置

ansible slave -i hosts -m shell -a "mv /home/user/cacert.cer /home/user/opt/"

你可能感兴趣的:(Ansibles使用)