ansible使用

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述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的管理中心
目前基本步骤
  1. 登录目标服务器
  2. 获取安装包
  • 从本地主机上传安装包
  • 在目标服务器主动获取安装包
  1. 解压安装包
  2. 执行安装命令
  3. 开放服务所需端口
  • 开放16520端口
  • 开放16525端口

卸载环境
  1. 卸载las
  2. 卸载sap
  3. 卸载soar


SHELL脚本
  1. ssh 10.41.48.130 -lroot
  2. wget http://10.44.237.41:8080/CS_SAP/
  3. tar -zxvf tes.tar.gz
  4. test/script/install --data /home
  5. systemctl start firewalld
    firewall-cmd --add-port 514/tcp
ansible playbook 剧本复用性
  1. 安装不同版本
  2. 同版本的不同安装
  3. 异常情况
  • 与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
任务
  1. 在linux机器安装ansible
  2. 写一个playbook自动化部署与你相关的产品
  3. 将2中的playbook改用role的方式
    有一点的linux相关知识
  • 如果只执行一次工作,写剧本根本就不值得
  • 尽量不要手动终止剧本
推荐学习内容
  • github
  • vs code
【ansible使用】

    推荐阅读