码迷,mamicode.com
首页 > 其他好文 > 详细

ansible

时间:2019-04-21 19:56:50      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:密钥   计划   配置   htm   lin   手动   config   and   fedora   

通过DNF或YUM发布的最新版本

$ sudo yum install ansible

启用Ansible引擎存储库,请运行以下命令:

$ sudo subscription-manager repos --enable rhel-7-server-ansible-2.6-rpms

埃佩尔以及Relases.ansible.com.

AnbleVersion2.4及更高版本可以管理包含Python2.6或更高版本的早期操作系统。

您也可以自己构建一个RPM。在结帐或tarball的根目录中,使用make rpm命令来构建您可以分发和安装的RPM。

$ git clone https://github.com/ansible/ansible.git
$ cd ./ansible
$ make rpm
$ sudo rpm -Uvh ./rpm-build/ansible-*.noarch.rpm

托管节点需求

在托管节点上,您需要一种通信方式,通常是ssh。默认情况下,它使用sftp。如果这是不可用的,您可以切换到scp在ansible.cfg。您还需要Python 2(版本2.6或更高版本)或Python 3(版本3.5或更高版本)。

  • 如果在远程节点上启用了SELinux,那么在使用Ansible中任何与复制/文件/模板相关的函数之前,还需要在它们上安装libselinux-python。您可以使用YUM模块DNF模块在无法安装此软件包的远程系统上安装它。

  • 默认情况下,Ansible使用位于/usr/bin/python运行它的模块。但是,有些linux发行版可能只安装了Python 3解释器/usr/bin/python3默认情况下。在这些系统上,您可能会看到以下错误:

    "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n"
    

    您可以设置Ansible python解释器库存变量(见处理库存)指向您的解释器,或者您可以安装Python 2解释器供模块使用。你还需要设置Ansible python解释器如果Python 2解释器未安装到/usr/bin/python.

  • Ansible的“RAW”模块(用于快速和肮脏地执行命令)和脚本模块甚至不需要安装Python。因此,从技术上讲,您可以使用Ansible安装兼容版本的Python,使用原始模块,这样你就可以使用其他的东西了。例如,如果需要将Python 2引导到基于rhl的系统上,则可以通过

    $ ansible myhost --sudo -m raw -a "yum install -y python2"

通过Pip发布最新版本

Ansible可以通过Python包管理器“pip”安装。如果您的Python版本中还没有“pip”,您可以通过以下方法获得pip:

$ sudo easy_install pip

然后用[1]:

$ sudo pip install ansible

或者如果您正在寻找最新的开发版本:

$ pip install git+https://github.com/ansible/ansible.git@devel

 

 

 https://docs.ansible.com/ansible/latest/user_guide/index.html

远程连接信息

在我们开始之前,了解Ansible如何通过SSH与远程计算机进行通信是很重要的。

默认情况下,Ansible将尝试在可能的情况下使用本机OpenSSH进行远程通信。这使ControlPersio(性能特性)、Kerberos和选项在~/.ssh/config例如跳转主机设置。但是,当使用EnterpriseLinux 6操作系统作为控制机器时,OpenSSH的版本可能太老,无法支持ControlPersio。在这些操作系统上,Ansible将退回到使用高质量的Python实现OpenSSH,称为“paramiko”。如果您希望使用KerberizedSSH等特性,请考虑使用Fedora、MacOS或Ubuntu作为您的控制机器,直到OpenSSH的更新版本在您的平台上可用为止。

偶尔会遇到不支持SFTP的设备。这是很少见的,但是如果发生这种情况,您可以切换到scp模式。配置可测性.

在使用远程机器时,Ansible默认假定您使用的是SSH键。鼓励使用SSH密钥,但在需要时也可以通过提供该选项来使用密码身份验证。--ask-pass。如果使用sudo特性和sudo需要密码时,也可以提供--ask-become-pass(以前--ask-sudo-pass已经被否决了)。

Ansible不公开允许用户和ssh进程之间通信的通道,以便在使用ssh连接插件(这是默认的)时手动接受密码来解密ssh密钥。使用ssh-agent强烈推荐。

虽然这可能是常识,但还是值得分享的:任何管理系统都可以通过在被管理的机器附近运行而受益。如果您在云中运行Ansible,请考虑从云中的机器上运行它。在大多数情况下,这将比在开放的互联网上工作得更好。

作为一个高级主题,Ansible不只是需要通过SSH远程连接。传输是可插拔的,并且有一些选项可以在本地管理事物,以及管理chroot、LXC和监狱容器。一种名为“Anble-Pull”的模式也可以反转系统,并通过计划的git签出来从中央存储库中提取配置指令,从而使系统“电话回家”。

 




ansible

标签:密钥   计划   配置   htm   lin   手动   config   and   fedora   

原文地址:https://www.cnblogs.com/linuxws/p/10746274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!