目标:
• 学习完本节后,学员应该能:介绍 Ansible 部署和编配方法
Ansible 部署:
• Ansible 可简化服务器上软件的配置
• 当 Ansible 访问受管主机时,它可以探查运行的 RHEL 版本。可以比较安装的应用软件和应用的软件订阅,确定主机是否授权妥当
• Ansible playbook 可用于统一构建开发、测试和生产服务器
• Kickstart 可以准备好符合条件的裸机服务器,让 Ansible 接管并进一步搭建
Ansible 编配方法:
• Ansible 常被用于完成应用服务器调配。通过编写 playbook 在新安装的系统上可执行下列任务:
1. 配置软件仓库
2. 安装应用
3. 修改配置文件。从版本控制系统选择性下载内容
4. 在防火墙中打开必要端口
5. 启动相关的服务
6. 测试应用并确认其正常工作
• Ansible 也是用于并行更新应用的简单工具。例如可以通过 playbook 在应用服务器上执行下列任务:
1. 停止系统和应用监控
2. 从负载平衡中移除服务器
3. 停止相关的服务
4. 部署或更新应用
5. 启动相关的服务
6. 确认服务可用,并将服务器重新添加到负载平衡中
7. 启动系统和应用监控
Ansible 连接插件:
• 连接插件使得 Ansible 能够与受管主机和云提供商通信
• 对于较新版本的 Ansible,首选连接插件是 SSH
• 当控制节点上的 OpenSSH支持ControlPersist选项时,Ansible 将使用这一连接方式
• 最常见的做法是通过 SSH 用户密钥来获得受管主机的访问权限
• 另一种连接插件是 local 连接插件。它可用于本地管理 Ansible 控制节点,而不 必使用 SSH。在编写与云服务或某些其他 API 接口的 Ansible playbook时,通常会使用这一连接方式。当 Ansible 由 cron 作业本地调用时,也可以使用它
• paramiko Ansible 连接插件用于 RHEL 6 计算机。Paramiko SSH 是基于 Python的 OpenSSH,是较旧系统的连接解决方案,这些系统上的 OpenSSH 不实施ControlPersist 连接设置。ControlPersist 连接设置可以实现持久 SSH 连接, 这一功能可以在连续执行多个 SSH 命令时最大程度降低 SSH 连接开销,从 而提升 Ansible 的性能
• winrm Ansible 连接插件使 Microsoft Windows 可以成为受管主机。Linux 控制节 点上必须安装 pywinrm Python 模块,才能支持这一连接插件
• Ansible 2 引入了 docker 连接插件。Docker主机可以充当Ansible控制节点, 其容器则充当受管主 机。使用这一连接插件时,每一容器不必各自启用 SSH服务器来进行 Ansible 通信
关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。