Ansible 环境部署

Ansible 很简单,使用它不需要肯一大坨书才能学会使用。只要您在一台电脑上面安装,就可以通过这台电脑管理一组远程的机器。在被管理的远程机器上, 不需要安装运行任何软件,所以升级版本并不会产生什么问题。

若您希望使用最新版本的 Ansible,并且您的 OS 是 Linux 的,推荐是通过 pip 工具来部署 Ansible 环境。

  • 安装Ansible

通过 pip 安装Ansible

安装 Ansible 之前需要先安装 pip ,如果已经安装可以略过。这里我们从 EPEL 更新相关包。

// 新增 epel-release 第三方套件来源。
sudo yum install -y epel-release
// 安装pip
sudo yum install -y python-pip
// 升级 pip
sudo pip install -U pip
// 安装ansible
sudo pip install ansible

通过 yum 安装Ansible

CentOS用户,需要 配置 EPEL

sudo yum install -y epel-release
sudo yum install -y ansible

这里要注意一点,检查下内置的python版本,只要机器上安装了 Python 2.6 或 Python 2.7 (windows系统不可以做控制主机),都可以运行Ansible。对于内置 Python 3.x 的机器还需要做些相应的调整

  • 如何使用Ansible与其他机器建立关系

通过 inventory 文件配置,可以建立多台机器与主机之间的关系。通常 inventor 文件的默认路径为 /etc/ansible/hosts 。(若是通过 pip 安装 Ansible 需要手动创建这个目录和文件)

[client]
master ansible_host=172.16.4.1 ansible_port=2200 ansible_user=root ansible_pass=root

[server]
server1 ansible_host=172.16.4.2

[local]
127.0.0.1 ansible_connection=local

中括号 [] 中是组名,用于对系统的分类,一台服务器可以同时属于 clientserver 这两个组。假如您有一些静态的 IP,并希望设置它的别名又或者您想通过隧道连接远程机器,可以作如下配置:

master ansible_host=172.16.4.1 ansible_port=2200

对于以上配置的 hosts 也可以设置它的连接用户名,如下:

master ansible_host=172.16.4.1 ansible_port=2200 ansible_user=root 
127.0.0.1 ansible_connection=local
Inventory常用参数说明

ansible_host 要连接的主机名
ansible_port 连接端口号
ansible_user 连接到主机时要使用的用户名
ansible_password 用于验证主机的密码
ansible_ssh_private_key_file ssh使用的私钥文件。如果使用多个密钥并且您不想使用SSH代理,则很有用。

  • 如何配置Ansible

ansible.cfg 通常和 hosts 在同级目录,如果您使用 pip 安装,则需要您自行创建这个文件。一些基本的配置如下:

[defaults]
# 默认inventory文件位置
inventory=/etc/ansible/hosts
# 远程主机名称
remote_user=master
# 如果要避免通过基础工具检查Ansible用于连接主机的主机密钥,请将其设置为“ False”。
host_key_checking=False

最后

本章主要学习如何在您的机器上部署Ansible和一些基础知识,之后的文章我们将研究一些真正有意思的东西-playbook,配置管理以及它的语法。

参考文献

How to build your inventory
Ansible Configuration Settings

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容