前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ansible安装部署步骤

ansible安装部署步骤

作者头像
全栈程序员站长
发布2022-07-22 18:54:40
1.1K0
发布2022-07-22 18:54:40
举报
文章被收录于专栏:全栈程序员必看

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

目录

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协议
代码语言:javascript
复制
管理端:192.168.223.10
被管理端:192.168.223.20
被管理端:192.168.223.30

1、关闭防火墙

代码语言:javascript
复制
[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、安装相关软件

代码语言:javascript
复制
[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、修改主机清单

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

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

代码语言:javascript
复制
#生成密钥对
[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 4月   8 10:31 .ssh
[root@localhost ~]# cd .ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub    #id_rsa:私钥;id_rsa.pub:公钥

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

代码语言:javascript
复制
[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 >>
2021年 04月 08日 星期四 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 >>
2021年 04月 08日 星期四 12:14:22 CST

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

6、设置ssh免交互登录

代码语言:javascript
复制
[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.cn/126020.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • Ansible概述
  • 1、关闭防火墙
  • 2、安装相关软件
  • 3、修改主机清单
  • 4、创建密钥对,进行远程连接
  • 5、将公钥上传到被监控端
  • 6、设置ssh免交互登录
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档