在 CentOS 7 中安装并使用自动化工具 Ansible

    xiaoxiao2023-12-05  136

    Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。

    本篇中我们将在CentOS 7上安装并配置Ansible,并且尝试管理两个节点。

    Ansible 服务端 – ansible.linuxtechi.com ( 192.168.1.15 )

    节点 – 192.168.1.9 , 192.168.1.10

    第一步: 设置EPEL仓库

    Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。

    [root@ansible ~]# rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

    第二步: 使用yum安装Ansible

    [root@ansible ~]# yum install ansible

    安装完成后,检查ansible版本:

    [root@ansible ~]# ansible --version

    ansible-version

    第三步: 设置用于节点鉴权的SSH密钥

    在Ansible服务端生成密钥,并且复制公钥到节点中。

    root@ansible ~]# ssh-keygen

    ssh-keygen

    使用ssh-copy-id命令来复制Ansible公钥到节点中。

    ssh-copy-id-command

    第四步:为Ansible定义节点的清单

    文件 /etc/ansible/hosts 维护着Ansible中服务器的清单。

    [root@ansible ~]# vi /etc/ansible/hosts[test-servers]192.168.1.9192.168.1.10

    保存并退出文件。

    主机文件示例如下:

    ansible-host

    第五步:尝试在Ansible服务端运行命令

    使用ping检查‘test-servers’或者ansible节点的连通性。

    [root@ansible ~]# ansible -m ping 'test-servers'

    ansible-ping

    执行shell命令

    例子1:检查Ansible节点的运行时间(uptime)

    [root@ansible ~]# ansible -m command -a "uptime" 'test-servers'

    ansible-uptime

    例子2:检查节点的内核版本

    [root@ansible ~]# ansible -m command -a "uname -r" 'test-servers'

    kernel-version-ansible

    例子3:给节点增加用户

    [root@ansible ~]# ansible -m command -a "useradd mark" 'test-servers'[root@ansible ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'

    useradd-ansible

    例子4:重定向输出到文件中

    [root@ansible ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt

    本文来自云栖社区合作伙伴“Linux中国”,原文发布日期:2015-10-04

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)