playbooks框架部署远程主机
进入到ansible和python环境
进入python3.6虚拟环境
#su - deploy
#source .py3-a2.5-env/bin/activate
加载ansible 2.5版本
#source .py3-a2.5-env/ansible/hacking/env-setup -q
验证ansible加载效果
#ansible-playbook --version
编写playbooks框架
新建一个目录和多个目录
#mkdir test_playbooks
#cd test_playbooks/
#mkdir inventory roles
进入到 inventory,创建testenv文件,
# cd inventory
#vi testenv
添加目标主机服务地址
[testservers]
test.example.com
[testservers:vars]
server_name=test.example.com
user=root
output=/root/test.txt
退回到上一级目录
#cd ../
进入roles目录,创建子目录
#cd roles
#mkdir -p testbox/tasks
进入子目录,创建main.yml的文件,作为playbooks的主配置文件
#cd testbox/tasks/
#vi main.yml
添加测试任务,保存退出
- name: Print server name and user to remote testbox
shell: "echo 'Currently {{ user }} is logining {{ server_name }}' > {{ output }}"
返回到test_playbooks目录
#cd ../../..
创建一个playbooks任务入口文件,保存退出
#vi deploy.yml
- hosts: "testservers" # 对应testenv文件下主标签,用定义调用标签下目标主机
gather_facts: true # 获取目标主机信息
remote_user: root # 告诉ansible在目标主机下,使用root账户权限,进行所有系统的文件操作
roles: # 进入roles下testbox任务目录,进行接下来的任务执行
- testbox
打印playbooks目录下的树状结构
#tree .

配置ansible主机和目录主机的密钥认证
返回root用户
#su - root
编辑hosts
#vi /etc/hosts
添加dns记录 test.example.com
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.96.151 test.example.com
返回deploy用户
#exit
给deploy用户创建一个密钥认证
#ssh-keygen -t rsa
一直回车
这时候生成的公钥和私钥都在同一个目录下/home/deploy/.ssh/

指定deploy用户的公钥
#ssh-copy-id -i /home/deploy/.ssh/id_rsa.pub root@test.example.com

输入目标主机的密码,就可以建立连接了

测试不使用密码连接主机
#ssh root@test.example.com
测试完毕,返回到deploy用户下
#exit
进入到test_playbooks目录下,执行ansible-playbook下的deploy.yml文件。此时playbooks执行完成
#ansible-playbook -i inventory/testenv ./deploy.yml

登录到目标主机
#ssh root@test.example.com
查看当前目录下test.txt 。成功把参数写进入了
#cat test.txt

已成功将乐谱演奏给听众!!
playbooks框架部署远程主机的更多相关文章
- ThinkPHP框架部署
ThinkPHP框架部署 1.下载ThinkPHP框架 下载地址:http://www.thinkphp.cn/ ThinkPHP官方网站 下载ThinkPHP3.2.3完整版,下载后如下图所示: A ...
- Thinkphp框架部署步骤
Thinkphp框架部署步骤 thinkphp框架部署起来简单,但是由于步骤较多也容易遗忘: 这是安装了集成环境后的一个www根目录结构: 然后需要在这个目录下面创建一个文件夹做项目:thinkphp ...
- 微信小程序框架部署:mpvue+typescript
开发前提: 1.在微信公众平台注册申请 AppID 2.安装开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/downloa ...
- playbooks框架与子文件编写规范
Test Playbooks框架 详细目录testenv文件 主任务文件main.yml 任务入口文件deploy.yml Ansible连接playbooks需要添加ssh协议认证 ...
- gogin web框架部署学习
首先去git上面找了一个gin框架拿来学习gin web开发: flipped-aurora/gin-vue-admin: 基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本 ...
- yii框架部署
1.下载框架解压,复制framework 2.可以看一下里边的目录结构 3.将framework文件夹复制到你想要存放的地方 4.然后执行cmd命令,创建自己的应用系统,这是可能遇到的问题 5.不是内 ...
- 自动化 测试框架部署(python3+selenium2)
安装Python 从https://www.python.org/downloads/下载最新版本的Python3,请注意,是3: 需要将Python的安装目录和安装目录下的Scripts文件夹添加到 ...
- 使用spring.net 1.3.2框架部署在虚拟目录上发生错误
如果你的网站使用了Spring.net 1.3.2,并部署在IIS的虚拟目录上,那么将会出现如下错误: The virtual path '/currentcontext.dummy' maps ...
- 把ABP框架部署到Docker中
本文旨在将Abp项目部署到Docker容器中,借助Gitee存储,Jenkins持续构建,利用Docker Compose生成镜像.启动镜像,在官网给定的Abp项目中,虽然用到了Dockerfile. ...
随机推荐
- H3C 基本的局域网间路由
- C# double 好用的扩展
在很多代码需要使用数学计算,在用到 double 很难直接判断一个值是 0 或者 1 ,判断两个值相等. 本文提供一个数学扩展,让大家可以简单使用到 double 判断 在开始看本文之前,希望大家是知 ...
- The bind() Method
The bind() method was added in ESMAScript 5, but it is easy to simulate in ESMAScrpt 3. As its name ...
- vue项目安装scss,以及安装scss报错(this.getResolve is not a function)
1.安装scss: npm install node-sass sass-loader vue-style-loader --save-dev //安装node-sass sass-loader vu ...
- Java中try catch finally执行
直接上代码实例: public static void main(String[] args) { System.out.println(test1()); } static int test1 ...
- RabbitMQ-事务和Confirm消息确认
,如果要保证消息的可靠性,需要对消息进行持久化处理,然而消息持久化除了需要代码的设置之外,还有一个重要步骤是至关重要的,那就是保证你的消息顺利进入Broker(代理服务器),如图所示: 正常情况下,如 ...
- 2018-8-10-C#-使用Emit深克隆
title author date CreateTime categories C# 使用Emit深克隆 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 17: ...
- Next.js 笔记
NEXT 中文文档地址! next.js 只有服务端使用的包需要做单独处理,无需打包到项目中,可以使用@zeit/next-bundle-analyzer观察代码. Router.beforePopS ...
- 牛客多校第一场 B Inergratiion
牛客多校第一场 B Inergratiion 传送门:https://ac.nowcoder.com/acm/contest/881/B 题意: 给你一个 [求值为多少 题解: 根据线代的知识 我们可 ...
- 适配器模式 iOS
前言: 最近需求作一个公共空间的需求,最后决定用适配器模式来做. 首先,需求是什么? 在我们app中,会有很多列表,tableviewcell的样式会比较统一(当然,我之前在公司那个app不算很大,基 ...