ansible使用
Posted 白雪冬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible使用相关的知识,希望对你有一定的参考价值。
ansible 入门
ansible什么
Ansible 是一个自动化运维管理工具,支持Linux/Windows跨平台的配置管理,任务分发等操作。
同类产品
- saltstack
- chef
- terraform
- puppet
为什么要用ansible
- 应用广泛:
- 社区活跃:
- 使用简单: 使用过程都是yaml配置文件,yaml工程师
推荐安装配置
管理节点:linux + python3.8+
控制节点:python
PS:Windows 系统也可安装但是功能受限
如何安装
Python: ✨
$ python -m pip install --user ansible
RHEL:
$ sudo yum install ansible
CentOS:
$ sudo yum install epel-release
$ sudo yum install ansible
其他:
安装方法
安装过程中的陷阱
- python 3.8 得自己编译安装
- yum源配置
- pip源配置
YAML语法
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
常见术语
- playbook:剧本:包含需要远程执行的核心命令、定义任务具体内容,等等
- role:别人写好的模块
- inventory:被管理的机器清单
- module:ansible内置
最佳实践
自动化部署SIEM的管理中心
目前基本步骤
- 登录目标服务器
- 获取安装包
- 从本地主机上传安装包
- 在目标服务器主动获取安装包
- 解压安装包
- 执行安装命令
- 开放服务所需端口
- 开放16520端口
- 开放16525端口
- …
卸载环境
- 卸载las
- 卸载sap
- 卸载soar
SHELL脚本
- ssh 10.41.48.130 -lroot
- wget http://10.44.237.41:8080/CS_SAP/
- tar -zxvf tes.tar.gz
- test/script/install --data /home
- systemctl start firewalld
firewall-cmd --add-port 514/tcp
ansible playbook
剧本复用性
- 安装不同版本
- 同版本的不同安装
- 异常情况
- 与shell 命令进行交互
- 已经安装了
一次性命令
- 查看所有机器的内存使用情况
ansible -i host all -m shell -a "free h"
- 查看所有机器的系统时间
ansible -i host all -m shell -a "date"
- 查看所有sap管理中心的磁盘使用率
ansible -i host sap -m shell -a "df -h"
结构化的写法
分层、分模编写剧本
ansible相关命令
- ansible????????????
- ansible-connection
- ansible-doc
- ansible-inventory
- ansible-playbook ????????????
- ansible-test
- ansible-config
- ansible-console
- ansible-galaxy ????
- ansible-lint
- ansible-pull
- ansible-vault ????????????
ansible-lint error_playbook.yml - dwa1
实用技巧
使用vs code插件
- ansible
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5gO7WpXU-1654174196786)(./images/vscode_plugin.PNG)] - remote - ssh
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pUs6X3PB-1654174196787)(./images/remote.PNG)]
Remote - SSH
- vs code
注意事项
- 需要有一点的linux相关知识
- 如果只执行一次工作,写剧本根本就不值得
- 尽量不要手动终止剧本
推荐学习内容
- github
- vs code
任务
- 在linux机器安装ansible
- 写一个playbook自动化部署与你相关的产品
- 将2中的playbook改用role的方式
有一点的linux相关知识
- 如果只执行一次工作,写剧本根本就不值得
- 尽量不要手动终止剧本
推荐学习内容
- github
- vs code
以上是关于ansible使用的主要内容,如果未能解决你的问题,请参考以下文章
ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建
ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建