设置Ansible的准备工作

时间:2020-02-23 14:29:39  来源:igfitidea点击:

在我们的设置中开始进行Ansible的安装和配置之前,需要满足一些准备工作。

控制节点要求

  • 当前,Ansible可以在装有Python 2(2.7版)或者Python 3(3.5版及更高版本)的任何计算机上运行。

  • 这包括Red Hat,Debian,CentOS,macOS,任何BSD等。

  • Windows是控制节点的"不支持"。

  • 默认情况下,macOS配置了少量文件句柄,因此,如果要使用15个或者更多的派生,则需要使用sudo launchctl limit maxfiles unlimited来提高ulimit。
    此命令还可以修复任何"太多打开的文件"错误。

  • 节点必须有权访问互联网,才能从第三方存储库下载并安装rpm。

受管节点要求

  • 在受管节点上,我们需要一种通信方式,通常是SSH。

默认情况下,它使用SFTP。

  • 如果不可用,则可以在" ansible.cfg"中切换到SCP。

  • 我们还需要Python 2(2.6版或者更高版本)或者Python 3(3.5版或者更高版本)。

  • 我们不会在环境中使用SELinux,但是如果我们需要使用SELinux,请按照Ansible文档进行其他操作

在所有节点上更新/etc/hosts

我们可以配置BIND DNS服务器来解析主机名,也可以在设置中使用控制器和托管主机的主机名和IP详细信息更新/etc/hosts文件。

~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.43.154  controller  controller.example.com
192.168.43.48   server1     server1.example.com
192.168.43.148  server2     server2.example.com

与Amazon AWS一起使用时,公共IP可能会不断变化,因此在某个时间点上,我们可能不得不依靠动态列表而不是静态列表。

但是在"/etc/hosts"中配置私有地址还是一个好主意,或者如果我们使用其他设置,则应该使用"/etc/hosts"来解析主机名,而不要使用" IP地址"来与托管服务器进行通信。
节点。

在Ansible客户端节点上安装强制性准备工作

现在我们不需要在客户端节点上运行任何代理,但是我们确实需要在受管节点上安装python,控制器才能使用受管节点上的模块执行剧本。

在所有客户端节点上安装" python3"(如果尚未安装)。
要安装python3,我们将使用默认的包管理器

[root@server-1 ~]# dnf -y install python36.x86_64
[root@server-2 ~]# dnf -y install python36.x86_64

验证两个受管节点上已安装的rpm版本

[root@server-1 ~]# rpm -qa | grep python36
python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64
[root@server-2 ~]# rpm -qa | grep python36
python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64

尽管我还将与我们分享在不将python安装在受管节点上的情况下使用Ansible的技巧。

但是,如果可能的话,强烈建议我们在受管节点上也安装python3.