术语
Ansible Playbooks:任务脚本,编排定义 Ansible 任务及的配置文件,由 Ansible 按序依次执行,通常是JSON 格式的 YML 文件;
Inventory:Ansible 管理主机清单;
Modules:Ansible 执行命令功能模块,多数为内置的核心模块,也可自定义;
Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不太常用;
API:供第三方程序调用的应用程序编程接口;
ansible-playbook 补
1 | - hosts: kube-master |
调试1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18bash-5.1# ansible -i hosts.txt all -m setup |grep ansible_distribution
"ansible_distribution": "CentOS",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "NA",
"ansible_distribution_version": "9",
bash-5.1# ansible -i 192.168.2.131, all -m setup |grep ansible_distribution
"ansible_distribution": "CentOS",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "NA",
"ansible_distribution_version": "9",
ansible 使用 非 root用户, imwl 用户. 可以修改 hosts 文件,或 ansible.cfg 文件
ansible_become_user = 'root' 默认值,可以不需要
当前修改 hosts 文件 [all:vars] 的部份
有 sudo 权限
1
2
3
4
5
6
7
8ansible_become='true'
ansible_become_user='root'
ansible_ssh_user='imwl'
# imwl 没有互信则需要 imwl 的 ssh 密码
ansible_ssh_pass='imwl_ssh_password'
ansible_become_method='sudo'
# imwl 没有免密 sudo 则需要 sudo 密码
ansible_sudo_pass='imwl_sudo_password!'没有 sudo 权限
1 | ansible_become='true' |