快速导航×

新闻动态

环球体育 我们也会提供免费的培训课程在基础上发布时间:2021-05-27 14:00 浏览:

这是一些常见问题和答复

我可觉得一个任务(task)或脚本(playbook)配置 PATH 可能其它情况变量吗?

可以通过 environment 要害字配置情况变量,可以用在 task 可能 play 上

environment:   PATH: “{{ ansible_env.PATH }}:/thingy/bin” SOME: value  

如那里理惩罚需要差异账户与端口登录的差异呆板?

配置清单(inventory)文件是最简朴的方法

譬喻,假设这些主机有差异的用户名和端口

[webservers] asdf.example.com ansible_ssh_port=5000 ansible_ssh_user=alice jkl.example.com ansible_ssh_port=5001 ansible_ssh_user=bob

你也可以指定什么范例的毗连。

[testcluster] localhost ansible_connection=local /path/to/chroot1 ansible_connection=chroot foo.example.com bar.example.com

你大概想生存这些组变量,可能一些变量文件。 看剩余的文档获取更多有关如何组织变量的信息

如何让 ansible 重用毗连,启用 Kerberized SSH,可能让Ansible 留意当地的 SSH config 文件。

转换默认毗连范例,在设置文件内里配置为,’ssh’,可能利用 ‘-c ssh’选项利用OpenSSH毗连,而不是python的paramiko库。在 Ansible 1.2.1之后,’ssh’会默认利用。

paramiko在刚开始的时候是不错的,可是OpenSSH提供更多的高级选项。假如你正在利用这种毗连范例的话,你大概会想在一个支持 ControlPersist 的新呆板上运行 Ansible。你同样可以打点老的客户端。假如你正在用 RHEL6,CentOS6,SLES 10或 SLES 11,OpenSSH的版本仍然有些过期,因此思量利用Fedora或OpenSUSE客户端来打点节点,可能利用paramiko。

我们默认让paramiko作为默认选项,假如你第一次安装Ansible在一个EL box上,它提供了更好的用户体验。

如安在EC2内加快打点?

不要试着用你的条记本电脑打点一群 EC2 呆板。毗连到EC2内的打点节点然后在内里运行Ansible

如那里理惩罚长途呆板上没有 /usr/bin/python 路径?

尽量你可以利用其他语言编写 Ansible 模块,但大部门 Ansible 模块是用 Python 写的 ,并且一些事很是重要的焦点模块

默认环境下, Ansible 假定它可以在长途呆板上找到 2.x版本以上的 /usr/bin/python ,指定为2.4可能更高的版本。

配置 inventory 变量 ‘ansible_python_interpreter’ ,答允 Ansible自动替换掉默认的 python表明器。因此你可以指向任何版本的 python ,尽量/usr/bin/python不存在

一些 Linux 操纵系统,譬喻 Arch 大概默认安装的是 Python 3. 这会让你在运行模块的时候呈现语法错误信息。 Python 3和 Python 2 在本质上照旧有些区此外。Ansible 当前需要支持哪些更老版本的 Python 用户,因此还没有支持 Python 3.0。这不是一个问题,只需要安装 Python2 就可以办理问题。

当 Ansible 或 Python3.0 厥后变得越发主流的时候,会支持Python 3.0

不要替换 python 模块的 shebang 行,Ansible 在陈设的时候会自动处理惩罚。

让内容重用和从头分发的最好方法是什么?

假如你还没有做好, 请阅读 playbooks 文档的 “Roles” 部门。 这会让你更好的领略 playbook 的内容。(This helps you make playbook content self-contained, and works well with things like git submodules for sharing content with others.)

假如你对这些插件很生疏,查察 API 文档获取更多的有关扩展 Ansible 的细节信息 .. _configuration_file:

设置文件在谁人处所,我如何设置它?

看 Ansible的设置文件.

如何克制 cowsay?

假如你确定你想运行在没有cowsay的情况下,你可以卸载 cowsay,可能配置情况变量

export ANSIBLE_NOCOWS=1

How do I see a list of all of the ansible_ variables? 如何查察所有的 ansible_variables? ++++++++++++++++++++++++++++++++++++++++++++++++++++++

默认环境下,Ansible 收集 有关呆板的 “facts” ,这些 facts 可以被Playbook或templates会见。想要查察相关呆板的所有的facts,运行 “setup” 模块。

ansible -m setup hostname

这会打印指定主机上的所有的字典形式的facts。

如何遍历某一组内的所有主机,在模板中?

一个通用的做法是遍历组内的所有主机,你可以会见 “$groups” 字典在模板中,就像这样

{% for host in groups[‘db_servers’] %}   {{ host }}  

{% endfor %}

假如你需要会见有关这些主机的 facts ,譬喻每个主机的IP地点,你需要确保 facts 已经被 populated 了。譬喻

hosts: db_servers tasks:

# doesn’t matter what you do, just that they were talked to previously.

然后你可以利用 facts 在模板内里,就像这样

{% for host in groups[‘db_servers’] %}   {{ hostvars[host][‘ansible_eth0’][‘ipv4’][‘address’] }}  

{% endfor %}

如何故编程方法会见变量名

Copyright © 环球体育艺考培训有限公司 版权所有
首页 菜单 联系
{dede:robot copyright="qjpemail"