ansible学习笔记

摘要

在工作中总是不可避免的要上传包到服务器进行部署,每次都需要用winscp登陆服务器上传包,然后使用rundeck 进行部署。所以大概了解了一下其工作原理,因此学习了ansible(不过毕竟是公司的server不敢乱搞,所以只是在两台电脑之间做了操作,把另一台电脑当成了server来用)
注意:要先安装ansible, ansible 请自行百度安装

Mac 生成ssh key

1. 查看秘钥是否存在
在终端下运行 cat ~/.ssh/id_rsa.pub 命令检查是否已有一个SSH密码,存在则不需要重新生成,
如果不存在请按照第二步生成新的密钥
2.生成新秘钥
ssh-keygen -t rsa -C "email@example.com"
你需要把邮箱换成自己的邮箱,email@example.com只是一个示例。

ansible 配置

ansible使用ssh来管理远程机器,所以要保证你的电脑上已经生成了SSH密钥。

## 拷贝当前主机的ssh key 到远程主机,ip地址替换为远程地址

$ ssh-copy-id davidwang@192.168.31.53

## 保存远程主机ip保存到当前主机的known_hosts

$ ssh-keyscan 192.168.31.53 >> ~/.ssh/known_hosts

sudo vi /etc/ansible/hosts 在这里可以配置添加要管理的服务器

ansible test --list-host  查看test组下的所有主机

## 配置完成之后,用命令ping下试试配置是否生效
$ ansible all -m ping

## 创建ssh连接
ssh davidwang@192.168.31.53  

## 先在本地创建一个SHELL脚本
# vim /tmp/test.sh
#!/bin/sh
tar zxvf Desktop/tmp/tmp.zip -C Desktop/tmp2
 
## 将创建的脚本文件分发到远程组test下所有的主机
# ansible test -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh owner=root group=root mode=0755"         owner 是相应的用户名称

## 部署本地资源到所有服务器的目标资源
ansible all -m copy -a "src=Desktop/tmp.zip dest=Desktop/tmp  mode=0755" 
 
## 远程执行脚本,将资源部署到相应的folder
# ansible test -m shell -a "/tmp/test.sh"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值