ansible基本概述和安装配置(一)

简介: Ansible自动化管理(1)1.ansbile基本概述自动化运维工具:shell脚本/Ansible(无客户端)/Saltstack(有客户端master-minio)服务器部署流程买云主机—环境部署—软件部署—配置部署—启动服务—测试—加入集群1.1.ansible能做什么ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作

Ansible自动化管理(1)

1.ansbile基本概述

自动化运维工具:

shell脚本/Ansible(无客户端)/Saltstack(有客户端master-minio)

服务器部署流程

买云主机—环境部署—软件部署—配置部署—启动服务—测试—加入集群

1.1.ansible能做什么

ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作

1.同时在100台服务器上安装nginx,并在安装后启动服务

2.将某个文件一次性拷贝到100台服务器上

3.每当有新服务器加入工作环境时,都要为服务器部署某个服务,要经常重复性的完成相同的工作

这些场景我们都可以使用ansible

1.2.ansible软件特点

1.ansible不需要单独安装客户端,ssh相当于ansible客户端


2.ansible不需要启动任何服务,仅需安装对应工具即可


3.ansible依赖大量的python模块实现批量管理


4.ansible配置文件/etc/ansible/ansible.cfg

1.3.ansible基础结构

1.连接插件(connector plugins)用于连接主机,用来连接被管理端


2.核心模块(core modules)连接主机实现操作,它依赖于具体的模块来做具体的事情


3.自定义模块(custom modules)根据自己的需求编写具体的模块


4.插件(plugins)完成模块功能的补充


5.剧本(playbooks)ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行


6.主机清单(host inventory)定义ansible需要操作主机的范围


最重要的一点是ansible是模块化的,他所有的操作都依赖于模块

————————————————

版权声明:本文为CSDN博主「Jiangxl~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_44953658/article/details/1071399291.3.ansible基础结构

1.连接插件(connector plugins)用于连接主机,用来连接被管理端


2.核心模块(core modules)连接主机实现操作,它依赖于具体的模块来做具体的事情


3.自定义模块(custom modules)根据自己的需求编写具体的模块


4.插件(plugins)完成模块功能的补充


5.剧本(playbooks)ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行


6.主机清单(host inventory)定义ansible需要操作主机的范围


最重要的一点是ansible是模块化的,他所有的操作都依赖于模块

image.pngansible工作架构:首先通过connection插件连接受控端所有主机,受控端有n个,可能针对于不同的服务器集群,因此我们就要对受控端进行合理的分配,将不同的集群做成不同的清单,保存在主机清单文件中,主机清单位于/etc/ansible/hosts文件中,在通过核心模块来传达指令,如果懂python也可以自定义模块,最后将各个模块组合在一起形成任务剧本,最终实现运维自动化

2.ansible安装配置

2.1.环境概述

image.png

2.2.安装ansible

[root@ansible ~]# yum -y install ansible
[root@ansible ~]# ansible --version
ansible 2.9.9

2.3.ansible借助公钥批量管理

利用非交互式实现批量分发公钥与批量管理服务器

1生成公钥文件
[root@ansible ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2.将公钥推送至远程服务器
[root@ansible ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.81.220
[root@ansible ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.81.230
[root@ansible ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.81.230
3.能正常登录即可
[root@ansible ~]# ssh 192.168.81.220
Last login: Mon Jun  1 22:08:16 2020 from 192.168.81.1
[root@web ~]# exit
登出
Connection to 192.168.81.220 closed.
[root@ansible ~]# ssh 192.168.81.230
Last login: Mon Jun  1 22:10:56 2020 from 192.168.81.1
[root@nfs ~]# exit
登出
Connection to 192.168.81.230 closed.
[root@ansible ~]# ssh 192.168.81.240
Last login: Mon Jun  1 22:10:02 2020 from 192.168.81.1
[root@mysql ~]# exit
登出
Connection to 192.168.81.240 closed.
目录
相关文章
|
Linux 网络安全 Python
|
7月前
|
运维 Shell Linux
Ansible自动化运维工具之常用模块使用实战(5)
Ansible自动化运维工具之常用模块使用实战(5)
|
9月前
|
网络协议 网络安全
Ansible模块介绍——防火墙模块
Ansible模块介绍——防火墙模块
146 0
|
7月前
|
运维 Linux
Ansible自动化运维工具之常用模块使用实战(6)
Ansible自动化运维工具之常用模块使用实战(6)
|
10月前
|
Shell
ansible模块大全上【建议收藏】
ansible模块大全上【建议收藏】
104 0
ansible模块大全上【建议收藏】
|
6月前
|
网络安全 数据安全/隐私保护
ansible的get_url模块
ansible的get_url模块
|
6月前
|
存储 Linux Python
ansible手动添加模块
ansible手动添加模块
49 0
|
9月前
Ansible模块管理——磁盘管理模块、mount模块
Ansible模块管理——磁盘管理模块、mount模块
256 0