ansible安装部署步骤

目录Ansible概述1、关闭防火墙2、安装相关软件3、修改主机清单4、创建密钥对,进行远程连接5、将公钥上传到被监控端6、设置ssh免交互登录Ansible概述Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、fun

大家好,又见面了,我是你们的朋友全栈君。

Ansible概述

  1. Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。

  2. ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
    1、连接插件connection plugins:负责和被监控端实现通信;
    2、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
    3、各种模块核心模块、command模块、自定义模块;
    4、借助于插件完成记录日志邮件等功能;
    5、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

  3. ansible的架构:连接其他主机默认使用ssh协议

管理端:192.168.223.10
被管理端:192.168.223.20
被管理端:192.168.223.30

1、关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0

2、安装相关软件

[root@localhost ~]# yum -y install epel-release.noarch 
[root@localhost ~]# yum install -y ansible
[root@localhost ~]# yum install -y tree

[root@localhost ~]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── hosts
└── roles

3、修改主机清单

[root@localhost ~]# vim /etc/ansible/hosts    #配置主机清单
#以下内容为添加内容,不是修改内容
[webservers]
192.168.223.20    #被监控端1的IP
[mysql]
192.168.223.30    #被监控端2的IP

4、创建密钥对,进行远程连接

#生成密钥对
[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   #回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):      #输入密码788788
Enter same passphrase again:                     #确认密码788788
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:WKpIMqbJgc2JyTz2C351d7bzbDJ83wUsyf1oKXaq82c root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|        .        |
|+= .   +   . +   |
|*B=   o S   + +  |
|==+. o . . o . = |
|oo..o . . + + = o|
|. ...     .B.BE o|
| ...      .+X=...|
+----[SHA256]-----+


[root@localhost ~]# ls -al
drwx------.  2 root root   57 48 10:31 .ssh
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub    #id_rsa:私钥;id_rsa.pub:公钥

5、将公钥上传到被监控端

[root@localhost .ssh]# ssh-copy-id root@192.168.223.20

[root@localhost .ssh]# ssh-copy-id root@192.168.223.30


#在监控端登录被监控端查看日期
[root@ansible ~]# ansible 192.168.223.20 -m command -a 'date'
Enter passphrase for key '/root/.ssh/id_rsa':    #输入之前设置的密码:788788
192.168.223.20 | CHANGED | rc=0 >>
20210408日 星期四 12:12:19 CST


[root@ansible ~]# ansible mysql -m command -a 'date'    #当然也可以用别名进程查看
Enter passphrase for key '/root/.ssh/id_rsa':
192.168.223.30 | CHANGED | rc=0 >>
20210408日 星期四 12:14:22 CST

-m:指定模块
-a:指定参数

6、设置ssh免交互登录

[root@ansible ~]# ssh-agent bash
[root@ansible ~]# ssh-add
Enter passphrase for /root/.ssh/id_rsa: 
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126020.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月6日 下午8:40
下一篇 2022年4月6日 下午8:40


相关推荐

  • Aarch64 安装Anaconda 和 pytorch

    Aarch64 安装Anaconda 和 pytorchpipinstalltorch-fhttps://torch.maku.ml/whl/stable.htmlhttps://gitee.com/kumatea/pytorch-aarch64https://blog.csdn.net/zhenlingcn/article/details/109559570

    2022年10月9日
    4
  • datagrip安装教程与激活 3月最新注册码

    datagrip安装教程与激活 3月最新注册码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    98
  • win10多合一原版系统_win10简体中文64位16299.15多合一版本

    win10多合一原版系统_win10简体中文64位16299.15多合一版本镜像有点大估计压缩后也会超过4G,所以不会上传多合一版本介绍:包含以下版本windows10homewindows10homesinglelanguagewindows10homechinawindows10prowindows10educationwindows10enterprisewindows10s注意全部是64位的哈!!微云:http://url.cn/…

    2022年6月17日
    59
  • shell数组变量赋值_形参可以是常量变量或表达式

    shell数组变量赋值_形参可以是常量变量或表达式1.定义数组bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。在Shell中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为:【示例】定义数组:array_name=(value0value1value2value3)数组的值类型任意,个数不限可以不使用连续的下标,而且下标的范围没有限制:array_name=([0]

    2025年6月26日
    4
  • 五种IO模型详解

    五种IO模型详解在 Unix 网络编程 一书中提到了五种 IO 模型 分别是 阻塞 IO 非阻塞 IO 多路复用 IO 信号驱动 IO 以及异步 IO 下面就分别来介绍一下这 5 种 IO 模型的异同 1 阻塞 IO 模型 最传统的一种 IO 模型 即在读写数据过程中会发生阻塞现象 当用户线程发出 IO 请求之后 内核会去查看数据是否就绪 如果没有就绪就会等待数据就绪 而用户线程就会处于阻塞状态 用户线程交出 CPU 当数据就绪之后 内核会将数据

    2026年3月16日
    1
  • CreatePipe匿名管道通信

    CreatePipe匿名管道通信管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(AnonymousPipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。      匿名管道实施细则      匿名管道由Cre

    2022年7月26日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号