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的管理中心

目前基本步骤

  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使用的主要内容,如果未能解决你的问题,请参考以下文章

ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建

ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建

ansible自动化运维详解ansible的安装部署参数使用清单管理配置文件参数及用户级ansible操作环境构建

ansible学习系列2-ansible常用模块使用

Ansible基础使用

ansible--使用ansible进行lnmp环境部署