[download_code]
Ansible
Ansible是一个非常简单的IT自动化系统。它处理配置管理,应用程序部署,云供应,临时任务执行,网络自动化和多节点编排。Ansible使用负载均衡器轻松进行复杂的更改,例如零停机滚动更新。有关更多信息,请访问Ansible网站。
1.设计原则
- 设置过程非常简单,学习过程很少。
- 快速且并行地管理计算机。
- 避免使用自定义代理程序和其他开放端口,通过利用现有的SSH守护程序实现无代理。
- 用机器和人类友好的语言描述基础架构。
- 专注于安全性和易于审核/审查/内容重写。
- 立即管理新的远程计算机,而无需启动任何软件。
- 允许以任何动态语言开发模块,而不仅仅是Python。
- 可用作非根用户。
- 成为有史以来最容易使用的IT自动化系统。
2.安装Ansible
2.1 使用安装Ansible pip
Ansible可以使用pip
Python软件包管理器进行安装。如果pip
您的Python系统尚不可用,请运行以下命令进行安装:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py $ python get-pip.py --user
注意
如果您安装了Ansible 2.9或更早版本,则需要先使用它来删除旧版本的Ansible,然后再重新安装它。pip uninstall ansible
然后安装Ansible:
$ python -m pip install --user ansible
为了使用需要的paramiko
连接插件或模块paramiko
,请安装所需的模块2:
$ python -m pip install --user paramiko
如果要全局安装Ansible,请运行以下命令:
$ sudo python get-pip.py $ sudo python -m pip install ansible
2.2 在Ubuntu上安装Ansible
可在此处的PPA中获得Ubuntu版本。
要在您的计算机上配置PPA并安装Ansible,请运行以下命令:
$ sudo apt update $ sudo apt install software-properties-common $ sudo apt-add-repository --yes --update ppa:ansible/ansible $ sudo apt install ansible
注意
在较旧的Ubuntu发行版中,“ software-properties-common”被称为“ python-software-properties”。您可能要使用apt-get
而不是apt
在旧版本中使用。另外,请注意,只有较新的发行版(即18.04、18.10等)才带有-u
或--update
标志,因此请相应地调整脚本。
Debian / Ubuntu软件包也可以从源签出中构建,运行:
$ make deb
您可能还希望从源头获得开发分支,下面将对此进行介绍。
2.3 在macOS上安装Ansible
在Mac上安装Ansible的首选方法是使用pip
。
有关说明,请参见2.1使用pip安装Ansible。
如果您运行的是macOS 10.12或更早版本,则应升级到最新版本pip
以安全地连接到Python软件包索引。应该注意的是,pip必须作为模块在macOS上运行,并且链接的pip
说明将向您展示如何执行该操作。
注意
如果您安装了Ansible 2.9或更早版本,则需要先使用它来删除旧版本的Ansible,然后再重新安装它。
pip uninstall ansible
如果要在macOS Mavericks(10.9)上安装,则编译器可能会产生一些噪音。解决方法是执行以下操作:
$CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install --user ansible
3.使用Ansible
您可以使用pip
或软件包管理器来安装Ansible的发行版本。有关在各种平台上安装Ansible的详细信息,请参见我们的 安装指南。
红帽提供受支持的Ansible Engine版本。
高级用户和开发人员可以直接运行devel
具有最新功能和修复的分支。尽管它相当稳定,但是在运行devel
分支时,您更有可能遇到重大更改。如果您想运行devel
分支,我们建议您加入Ansible社区。
4.参与其中
- 阅读社区信息以了解各种有助于项目并与项目进行交互的方式,包括邮寄列表信息以及如何将错误报告和代码提交给Ansible。
- 加入工作组,这是一个致力于特定技术领域或平台的有组织的社区。
- 通过拉取请求向
devel
分支提交建议的代码更新。 - 在进行较大更改之前,请与我们联系,以避免重复工作。这不仅可以帮助每个人都知道发生了什么,还可以帮助我们节省时间和精力(如果我们决定需要进行一些更改)。
- 有关电子邮件列表,IRC频道和工作组的列表,请参见“ 通信”页面
5.编码准则
我们在《开发人员指南》中记录了我们的《编码指南》。我们特别建议您查看:
6.分行信息
- 该
devel
分支对应于正在开发中的发行版。 - 该
stable-2.X
分支对应的稳定版本。 - 如果要打开PR,请创建一个分支,
devel
并基于它建立一个dev环境。 - 有关活动分支的信息,请参见Ansible版本和维护页面。
7.版本图
根据团队和社区的反馈,将发布主要版本或次要版本的初始路线图(例如:2.7、2.8)。该Ansible路线图页详细说明了计划,以及如何影响路线图。