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
中括号 []
中是组名,用于对系统的分类,一台服务器可以同时属于 client
和 server
这两个组。假如您有一些静态的 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,配置管理以及它的语法。