Ansible(二)ansible的安装和配置文件的解析

一   Ansible的安装

      Ansible的安装方式有多种多样,本文以最简单的方式来进行安装,

     阿里云镜像ansible和epel源,安装省略

ansible --version # 2.7.5版本的!

二    相关说明

#(1)必须用普通用户远程连接

# 创建普通用户的身份

[kiosk@localhost ~]$ id devops
uid=1001(devops) gid=1001(devops) groups=1001(devops)

说明:由于工作原理是把代码复制到目标主机,在目标主机上执行,所以目标主机一定要有python!

说明:被管理端也创建普通用户

# server2和server3做同样的事情

[root@server2 ~]# useradd devops
[root@server2 ~]# passwd devops
Changing password for user devops.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@server2 ~]# id devops
uid=1000(devops) gid=1000(devops) groups=1000(devops)

三   进行免密认证

[devops@localhost anisble]$ 

ssh-keygen 
ssh-copy-id server1:
ssh-copy-id server2:

# 注意测试

四    创建相关配置文件

[devops@localhost Desktop]$ tree anisble/
anisble/
├── ansible.cfg  # 配置文件(顺序-->先从当前命令执行目录-->用户的家目录读取--->全局读取)
└── inventory    # 资源清单!
# ansible.cfg

[defaults]
#(1)资源清单的路径
inventory = ./inventory
# inventory说明
[test]
172.25.2.1

[prod]
172.25.2.2

测试

[devops@localhost anisble]$ ansible all -m ping
172.25.2.1 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
172.25.2.2 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

说明

ansible test -m copy -a "src=/etc/passwd dest=/tmp/passwd"

# test(资源清单)、-m copy(指定模块)、-a(参数)

说明:默认是command模块!

# /etc/sudoers 配置文件修改,在真实的生产环境中没有这么大的权限!

93 devops  ALL=(ALL)       NOPASSWD: ALL

# mansger和server1和server2都做同样的事情!

切换的说明

[defaults]
#(1)资源清单的路径
inventory = ./inventory

# 需求:不想每次切换!

#安全的角度-->开放普通用户的身份
[privilege_escalation]
#(1)是否可以sudo
become=True
#(2)采用sudo的身份
become_method=sudo
#(3)sudo后的用户身份
become_user=root
#(4)sudo是否需要验证密码
become_ask_pass=False

等价:

ansible all -m ping -u devops -b

相关说明

-u(远程主机的身份)

-u devops -b (远程切换某一个用户)

有时候需要拥有root具有的权限-->配置sudo的权限!

默认不会切换的,即使在客户端主机中配置了sudoers,不会sudo切换用户执行

默认普通用户执行某些命令,必须加上sudo参数!

必须在server中声明-b或者在配置文件中书写

颜色的说明:绿色(没有发生变化)、黄色(变更)、红色(报错)、紫色(Warning)

关键:幂等机制的理解!

注意:Add-Hoc的方式不读取资源清单的变量!

三    配置文件的说明

(1)配置文件

/etc/ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
/etc/ansible/roles   # 自行下载的roles

(2)可执行的二进制文件

/usr/bin/ansible-vault    # 加密
 
/usr/bin/ansible          # add-hoc的命令

/usr/bin/ansible-galaxy   # 下载playbook

/usr/bin/ansible-playbook # 运行playbook

(3)内置的python lib库文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值