ansible配置文件简述和部署ansible

ansible配置文件简述和部署ansible

[defaults]
#inventory      = /etc/ansible/hosts                        #被控端的主机列表文件
#library        = /usr/share/my_modules/                    #库文件存放目录
#remote_tmp     = ~/.ansible/tmp                            #临时文件远程主机存放目录
#local_tmp      = ~/.ansible/tmp                            #临时文件本地存放目录
#forks          = 5                                         #默认开启的并发数
#poll_interval  = 15                                        #默认轮询时间间隔(单位秒)
#sudo_user      = root                                      #默认sudo用户
#ask_sudo_pass = True                                       #是否需要sudo密码
#ask_pass      = True                                       #是否需要密码
#transport      = smart                                     #传输方式
#remote_port    = 22                                        #默认远程主机的端口号
建议开启修改以下两个配置参数(取消掉注释即可)
#host_key_checking = False                                  #检查对应服务器的host_key
#log_path=/var/log/ansible.log                              #开启ansible日志
使用ansible --help可以查看到命令参数
这里只写一些常用的参数:
--version               #显示版本
-m module               #指定使用的模块,默认为command
-v                      #查看执行的详细过程(-vv、-vvvv更详细)
--list-hosts            #显示主机列表(可以简写为--list)
-k,--ask-pass           #提示输入ssh连接密码,默认使用key验证
-K,--ask-become-pass    #提示执行输入sudo的密码
-C,--check              #检查,并不执行
-T,--timeout=TIMEOUT    #执行命令的超时时间,默认10s
-u,--user=REMOTE_USER   #指定远程执行的执行用户
-b,--become             #代替旧版本的sudo切换
-h,--help               #显示使用帮助

创建名为/home/student/ansible/inventory的静态清单文件, 以满足以下需求:
node1是dev主机组的成员
node2是test主机组的成员
node3是prod主机组的成员
prod组是webservers主机组的成员
创建为/home/student/ansible/ansible.cfg的配置文件, 以满足以下要求:
主机清单文件为/home/student/ansible/inventory
playbook中使用的角色的位置包括/home/student/ansible/roles

[root@server ~]# vim /etc/sudoers.d/student
[root@server ~]# cat /etc/sudoers.d/student
student ALL=(ALL)       NOPASSWD: ALL
[root@server ~]# for i in node{1..3}
> do scp /etc/sudoers.d/student root@$i:/etc/sudoers.d/
> done
root@node1's password:
student                                                                       100%   32    28.0KB/s   00:00
root@node2's password:
student                                                                       100%   32    48.7KB/s   00:00
root@node3's password:
student                                                                       100%   32    51.7KB/s   00:00

[root@server ~]# su - student
[student@server ~]$
[student@server ~]$ cd ansible/
[student@server ansible]$ ls
ansible.cfg  inventory
[student@server ansible]$ mkdir roles
[student@server ansible]$ vim inventory
[student@server ansible]$ cat inventory
[dev]
node1
[test]
node2
[prod]
node3
[webserver:children]
prod

[student@server ansible]$ vim ansible.cfg
inventory      = /home/student/ansible/inventory

roles_path    = /home/student/ansible/roles

host_key_checking = False

[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

[student@server ansible]$ ansible all -m ping
node3 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
node2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}

你可能感兴趣的:(ansible,服务器,linux)