Ansible的环境配置文件

1. 关于Ansible.cnf(环境设置文件)

这些是在执行ansible命令或ansible-playbook命令时所参考的各种设置文件。
有很多不同的设置,但是这次我们只介绍其中的一部分。

2. 关于可能设置的参数

ansible.cfg文件的参数在初始状态下都被注释掉了。
因为它们在默认状态下是无效的,所以要进行配置更改,需要解除注释并进行设置。
ansible.cfg中有很多可连接的参数,但建议至少了解一些基本的,并进行记录。

请参考以下链接获取详细信息:
https://docs.ansible.com/ansible/latest/reference_appendices/config.html#ansible-configuration-settings

基本书式
(参数名)=(值)
※要注释掉,请在开头加上#符号。

与通信相关的设置

概要パラメータ名セクションデフォルト値値接続先の
SSHポートremote_port[default]22ポート番号接続先の
ユーザーremote_user[default]ローカル
ユーザーユーザー名SSHの引数ssh_args[ssh_connection]なしsshコマンドの引数

・日志配置
将在执行ansible和ansible-playbook命令时输出到标准输出的消息保存起来。
可以作为执行证据使用。

概要パラメータ名セクションデフォルト値値ログ出力先log_path[default]なしフルパス指定

※log_path的默认值是被注释掉的状态,指定的路径是/var/log/ansible.log。这样的话,如果在root用户以外的情况下执行,会导致输出错误。因此,建议选择在ansible环境目录下创建log目录或选择其他路径。

・用户在连接后更改

概要パラメータ名セクションデフォルト値値変更実行?become[privilege_escalation]しないtrue/falseユーザー変更方法become_method[privilege_escalation]なしsu/sudo変更ユーザーbecome_user[privilege_escalation]なしユーザー名変更時のパスワード確認become_ask_passprivilege_escalation]なしtrue/false

如果将become_ask_pass设为false,则需要将初始连接用户和密码保持一致,同时通过/etc/sudoers的设置或其他方式实现用户切换的可行性。

3. 環境设置文件的读取位置和优先级

默认情况下,配置文件为ansible.cfg。
在执行ansible和ansible-playbook命令时,将先查找通过环境变量指定的路径,然后再查找/etc/ansible/ansible.cfg,并加载找到的配置文件。
(参考)Ansible的环境设置

以下是对于 Ansible 的配置命令的相关参考文档:https://docs.ansible.com/ansible/latest/cli/ansible-config.html

关于如何覆盖ansible.cfg中的配置值。

在某些情况下,可能需要更改ansible.cfg中的配置值。虽然可以通过修改ansible.cfg来实现,但如果仅需临时更改,则还可以使用以下方法。

①将变量作为命令行参数定义:
在ansible和ansible-playbook命令后加上-e “变量名” “值”来追加参数。
另外,可以通过-U等选项替换ssh连接的用户等信息。

②通过环境变量进行定义:
使用export ANSIBLE_(环境变量名大写)=(值)进行定义。

③在playbook中进行记录:
虽然不是所有的项目,但对于一些项目,如执行用户等信息,可以在playbook中进行记录和指定。
(这是针对自动化处理的个别设置,与更改环境变量有些微妙的区别)。

以上内容

广告
将在 10 秒后关闭
bannerAds