• 如果您想对本站表示支持,请随手点击一下广告即可~
  • 本站致力于提供原创、优秀的技术文章~
  • 有任何疑问或建议 均可以在站点右侧栏处 通过各种方式联系站长哦~
  • Ansible-Tower部署笔记

    SCM EXP 245阅读 0评论

    前言

    作为时下最流行的自动化运维工具之一,Ansible 在业界应该是无人不知无人不晓的了。

    作为一款轻量化的开源软件,它只需要简单地通过 SSH(对Linux平台)或 PowerShell(对Windows平台),无需被控主机安装客户端,就能实现远程操控、部署、升级等配置管理。

    通过编写简单的 playbooks(yml) 脚本就能轻松对成千上万的主机进行区域管控、日常巡检等任务。

    而 Ansible-Tower (旧称 AWX)作为其配套界面,使得 Ansible 更容易上手。

    这里提供一些官方资料:

    1. 部署说明

    本文主要记录了在 ubuntu 上部署 Ansible 和 Ansible-Tower 的过程。

    虽然 Ansible-Tower 支持在多种操作系统版本上部署,但对于 ubuntu 只支持 14.0 和 16.0 两个版本(而 Ansible 则是支持到 ubuntu 18.0)。

    为了可以同时安装 Ansible 和 Ansible-Tower ,本文选择了 ubuntu 16.0 系统进行安装。


    1.1. 安装环境

    • 操作系统:Ubuntu 16.04.5 LTS
    • 预装软件:python 2.7、openssh

    1.2. 安装清单

    • pywinrm (要求版本至少为 0.2.2,若不管理 windows 机器则无需安装)
    • Ansible-2.7.5 ( 要求 python 版本 2.6 或 2.7 )
    • PostgreSQL-9.6
    • Ansible-Tower-3.3.3 ( 要求 Ansible 版本至少为 2.2,PostgreSQL版本至少为 9.6 )

    预装组件要求可查看官方手册指引https://docs.ansible.com/ansible-tower/latest/html/quickinstall/prepare.html

    2. 安装步骤

    注意下述步骤直接依次复制执行即可完成整个部署流程,其中对于命令行前缀:

    • 【#】表示 root 用户
    • 【$】表示普通用户

    2.1. 安装 pywinrm(可选)


    2.2. 添加相关用户并授权


    2.3. 安装 Ansbile-2.7.5

    相关过程整理自官方手册https://ansible-tran.readthedocs.io/en/latest/docs/intro_installation.html#apt-ubuntu

    关于 Asible 的相关配置
       ○ 配置文件位置为 /etc/ansible/ansible.cfg
       ○ 主机清单文件为 /etc/ansible/hosts (用于配置主机分组、连接方式等)
       ○ playbooks 目录位置默认为 /etc/ansible/ ,若目录不存在,可手工创建


    2.4. 安装 PostgreSQL-9.6

    部分过程参考自CSDNhttps://blog.csdn.net/zpf336/article/details/50843674


    2.5. 安装 Ansible-Tower-3.3.3

    相关过程整理自官方手册https://docs.ansible.com/ansible-tower/latest/html/quickinstall/download_tower.html

    部分过程参考自CSDNhttps://blog.csdn.net/CodyGuo/article/details/78875717

    在 ubuntu 系统下,Ansible-Tower 只能下载 Ansible 的 playbooks 脚本,由 Ansible 在线安装。

    playbooks 脚本可从 此处 提取(目前最后的 latest 版是3.3.3)。

    下载最后版本 ansible-tower-setup-latest.tar.gz 后,上传到任意目录即可。


    2.6. Ansible-Tower授权

    • 安装成功后,可通过访问 https://<host_ip>/ 登录 Ansible-Tower (只能使用 HTTPS 协议
    • 登录账密在前面安装时已配置为:admin/admin (登录成功后,可以在【Users】里面修改)
    • 登录成功后需要导入License授权,License 可以在官网申请,官方提供了 10 个管理节点的 免费 License

    3. 附:被控主机为 Windows 时的额外配置

    相关内容参考自
       ○ 官方指引手册(英文版):https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html
       ○ 官方指引手册(中文版):https://ansible-tran.readthedocs.io/en/latest/docs/intro_windows.html#
       ○ 百度百家号:https://baijiahao.baidu.com/s?id=1580415145694814528&wfr=spider&for=pc

    为了控制 Windows 主机,作为被控端的 Windows 必须具备以下几个条件:

    • 操作系统版本限制为:桌面版 Windows 7、8.1、10 ;服务器版 Windows Server 2008、2012、2016
    • Windows上必须已经安装了 PowerShell 3.0 或更新版本
    • Windows上必须已经安装了 .NET Framework 4.0 或更新版本
    • WinRM 服务已经被创建并启动服务,相关服务端口没有被防火墙等拦截

    3.1. 查看 PowerShell 与 .NET 版本并升级

    • 运行 PowerShell (注意不是 CMD,一般 Win8 之后都默认安装)
    • 输入命令 Get-Host 可查看当前 PowerShell 版本
    • 输入命令 $PSVersionTable.CLRVersion 可查看当前 .NET Framework 版本
    • 若 PowerShell 版本不满足要求,可参考 此处 的升级步骤进行升级


    3.2. 安装并查看 WinRM 服务

    • 详细安装步骤可参考 这里
    • 为方便起见,Ansible 官方已提供了 WinRM 的自动安装与配置脚本:https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
    • 下载脚本后,在 PowerShell 执行命令即可完成安装: powershell.exe -ExecutionPolicy ByPass -File ConfigureRemotingForAnsible.ps1
    • 安装完成后,输入命令 winrm enumerate winrm/config/Listenerwinrm qc 可查看 WinRM 的服务状态
    • 确认 WinRM 正在监听 HTTPS 5986 端口即配置成功,注意防火墙也要开放相关端口


    3.3. Ansible 测试 WinRM 连接

    注意,Ansible 主机必须已安装 pywinrm,相关步骤详见 这里

    测试方法:修改 Ansible 主机的配置文件 /etc/ansible/hosts,在其末尾添加一行(其中 ${win_ip}${win_username}${win_password} 需根据实际情况修改):

    然后执行命令 ansible ${win_ip} -m win_ping 即可,若响应为 pong 则配置成功:


    转载请注明:EXP 技术分享博客 » Ansible-Tower部署笔记

    喜欢 (0) 分享 (0)
    发表我的评论
    取消评论

    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址