ansible测试环境
| ip | user | sudo_user | port | usage |
|---|---|---|---|---|
| 192.168.48.81 | ansible | root | 29922 | nagios & ansible control |
| 192.168.48.82 | ansible | root | 29922 | nagios node1 & boston1 |
| 192.168.48.83 | ansible | root | 29922 | target host |
| 192.168.48.84 | ansible | root | 29922 | target host |
| 192.168.48.85 | ansible | root | 29922 | nagios node1 & boston2 |
| 192.168.48.86 | ansible | root | 29922 | target host |
| 192.168.48.87 | ansible | root | 29922 | target host |
需求
- 81不能直接访问83,84,86,87,可以通过82,85堡垒机变更部署
- 所有服务器变更ssh端口22->29922,同时禁用root远程登录,允许ansible用户sudo到root
- sshkey 81->82,85,82->83,84,85->86,87
控制机
安装方法
http://www.cnblogs.com/liujitao79/p/4193368.html
inventory
#/etc/ansible/hosts
[center]
192.168.48.81
[idc1]
192.168.48.82
192.168.48.83
192.168.48.84
[idc2]
192.168.48.85
192.168.48.86
192.168.48.87
ssh管理方式测试
# ansible idc1 -u root -k -m ping
SSH password:
# results
192.168.48.82 | success >> {
"changed": false,
"ping": "pong"
}
192.168.48.83 | success >> {
"changed": false,
"ping": "pong"
}
192.168.48.84 | success >> {
"changed": false,
"ping": "pong"
}
服务器初始化
使用ssh password方式变更运维环境, 包括以下内容
1)建立ansible用户
2)sshd配置
3)sshkey
变更完成后,使用sshkey方式部署应用环境
控制机->堡垒机
81
ssh-keygen -b 2048 -t rsa -f /tmp/ansible.pem -q -N ''
ssh-keygen -b 2048 -t rsa -f /tmp/bastion82.pem -q -N ''
ssh-keygen -b 2048 -t rsa -f /tmp/bastion85.pem -q -N ''
mkdir -p /etc/ansible/keys
cp /tmp/{*.pem, *.pem.pub} -> /etc/ansible/keys
82 & 85
useradd ansible
su - ansible -c 'mkdir -p /home/ansible/.ssh'
su - ansible -c 'chmod 700 .ssh'
su - ansible -c 'echo "ssh-rsa ABBAB3NzaC1yc2EAAAADAQABAAABAQD4pbUECUaCod6dnNPJuqerZBOcqKiHc+JiXsJmJijOiTe7Xxyh0FEXqEAV7EOSOOe79LzZIsjq5iD6aPLZS7IKm/j8oGU0pB7s6Wz/Z8SWWBEpainBETIi0JgR2v/AmqSWi72o+d9isDSxkhfDZxIHXtlHo+rQ6iKytxTmlrplZwj+MDIo7g8Q3UXCa84b85HUaahS0VPATm8SM+YG89I6IV6NKL43N5guzfOKdxRrwOS6J2aGlq2UYMnC6emYXi/lKN92xvFbebyo5+KtbeLXjHuS1YvYdtvdpxvkOd2TboI9fB2qPKyt0LMv70nCJAUix7kBYcnaO4xe4vebfHpd ken@ken-HP6531s" > .ssh/authorized_keys'
or
su - ansible -c 'curl http://install.local/dc.pem.pub -O .ssh/authorized_keys'
su - ansible -c 'chmod 600 .ssh/authorized_keys'
测试
ansible 192.168.48.82 -u ansible --private-key=/etc/ansible/keys/ansible.pem -m ping
192.168.48.82 | success >> {
"changed": false,
"ping": "pong"
}
ansible 192.168.48.85 -u ansible --private-key=/etc/ansible/keys/ansible.pem -m ping
192.168.48.85 | success >> {
"changed": false,
"ping": "pong"
}
堡垒机->目标机
83 & 84 & 86 & 87
groupadd -g 501 ansible
useradd -u 501 -g 501 ansible
mkdir -p /home/ansible/.ssh && chown -R ansible:ansible /home/ansible/.ssh && chmod 700 /home/ansible/.ssh
cp bastion82.pem.pub(83,84),bastion85.pem.pub(86,87) -> /home/ansible/.ssh/authorized_keys
chown ansible:ansible /home/ansible/.ssh/authorized_keys && chmod 600 /home/ansible/.ssh/authorized_keys
82
# cp bastion82.pem -> /tmp
ssh -i /tmp/bastion82.pem ansible@192.168.48.83
ssh -i /tmp/bastion82.pem ansible@192.168.48.84
# rm /tmp/bastion82.pem
控制机->目标机
/etc/ansitble/ssh.config
192.168.48.82 bastion-82
192.168.48.82 bastion-85
/etc/ansitble/ssh.config
ost bastion-82
User ansible
Hostname 192.168.48.82
IdentityFile /etc/ansible/keys/ansible.pem
StrictHostKeyChecking no
Host bastion-85
User ansible
Hostname 192.168.48.85
IdentityFile /etc/ansible/keys/ansible.pem
StrictHostKeyChecking no
Host server-83
User ansible
Hostname 192.168.48.83
IdentityFile /etc/ansible/keys/bastion82.pem
StrictHostKeyChecking no
ProxyCommand ssh -q -A -x -l ansible -i /etc/ansible/keys/ansible.pem bastion-82 -o 'StrictHostKeyChecking=no' -W %h:%p
Host server-84
User ansible
Hostname 192.168.48.84
IdentityFile /etc/ansible/keys/bastion82.pem
StrictHostKeyChecking no
ProxyCommand ssh -q -A -x -l ansible -i /etc/ansible/keys/ansible.pem bastion-82 -o 'StrictHostKeyChecking=no' -W %h:%p
Host server-86
User ansible
Hostname 192.168.48.86
IdentityFile /etc/ansible/keys/bastion85.pem
StrictHostKeyChecking no
ProxyCommand ssh -q -A -x -l ansible -i /etc/ansible/keys/ansible.pem bastion-85 -o 'StrictHostKeyChecking=no' -W %h:%p
Host server-87
User ansible
Hostname 192.168.48.87
IdentityFile /etc/ansible/keys/bastion85.pem
StrictHostKeyChecking no
ProxyCommand ssh -q -A -x -l ansible -i /etc/ansible/keys/ansible.pem bastion-85 -o 'StrictHostKeyChecking=no' -W %h:%p
ssh -F /etc/ansible/ssh.config bastion-82
ssh -F /etc/ansible/ssh.config bastion-85
ssh -F /etc/ansible/ssh.config server-83
ssh -F /etc/ansible/ssh.config server-84
ssh -F /etc/ansible/ssh.config server-86
ssh -F /etc/ansible/ssh.config server-87
ansible测试环境的更多相关文章
- 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境
一.环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新 ...
- tidb测试环境安装,离线部署
1.环境以及规划 机器:centos7.5 ; 文件系统为ext4:内存16g:cpu8核,共三个节点: ip hostname roles --- tidb tipd tikv --- tidb t ...
- tidb测试环境搭建
tidb ansible 部署方式环境检查过于严格,测试环境往往达不到标准,需调整一些参数才能部署成功. 基于tidb2.0版本需要调整的参数 [tidb@ansible01 tidb-ansible ...
- Linux测试环境搭建的学习建议
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...
- iOSIPV6简单测试环境搭建
应苹果官方要求,iOS应用必须适配IPV6才能通过审核,这里分享一个简单的ipv6测试方法 一.工具原料 1.1 Mac电脑一台 1.2 iPhone手机两部 1.3 数据线一根 二.步骤方法 2.1 ...
- NodeJs 开发微信公众号(二)测试环境部署
由于卤煮本人是做前端开发的,所以在做公众号过程中基本上没有遇到前端问题,在这方面花的时间是最少的.加上用了mui框架(纯css界面)和自己积累的代码,很快地开发出了界面来.接着是后台开发.卤煮选的是n ...
- 用java开发微信公众号:测试公众号与本地测试环境搭建(一)
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/5023678.html 俗话说,工欲善其事,必先利其器.要做微信公众号开发,两样东西不可少,那就是要有一 ...
- 测试环境搭建心得 vs2008+SQL2008 PHP+APACHE+mysql Team Foundation Server2013
大四即将结束,大学的最后一个假期,找到一份实习工作,担任测试工程师.在过年前的最后一周入职,干了一周的活儿.主要工作就是搭建测试环境. VMware 主要熟悉VMware软件,装系统基本都没什么问题. ...
- Rails的三种环境----开发环境,生产环境和测试环境
Rails 的三个环境 Rails 的应用程序预设提供了三种不同的执行模式: development environment 开发模式,用在你的开发的时候 test environment 测试模式, ...
随机推荐
- [Java]如何把Soap Message装成一个String对象
代码片段 // Create transformer TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf ...
- 安装openstack时遇到的错误
学习opensatck的第一步是安装DevStack来进行本机操作 1. 下面命令没有权限,解决办法:切换到root用户下执行sudo -s echo "stack ALL=(ALL) NO ...
- classloader 学习
classloader就是把类文件加载到jvm中供虚拟机使用,先看一个magic小例子: 首先,我定义一个alex/vicky包,然后在这个包内定义一个接口: public interfaceISer ...
- caffe 日志保存以及matlab绘制方法(windows以及ubuntu下)
caffe 用matlab解析日志画loss和accuracy clc; clear; % load the log file of caffe model fid = fopen('log-prev ...
- vue 中的 ... (三个点的用法)
这个是扩展运算符. 扩展语法.对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来.这个东西可以在函数定义的地方使用,比如使用func(...args)将函数传入的参数都放到args数组里.
- linux下重启php服务
有时候修改了一些php配置或者进程满了需要重启php [root@snoopy :: bin]# service php-fpm restart Gracefully shutting down ph ...
- HBase学习(一)
HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数据.它利用了Hado ...
- PopUpWindow使用方法
个人使用建议,容易犯错:先设置属性再显示,而不是先出来了,再设置都没用了,显示一般是用showatlocation,或者showasdropdown 个人建议2:popupWindow的显示的两个方法 ...
- Windows 10 JDK安装及环境配置(vim+gcc)
JDK安装 首先去官网下载JDK:点击进入 下载后点击安装: 中途会提示安装jre,注意jre的安装文件夹和jdk的不能相同,不然会覆盖掉jdk里面的jre文件.可以创建一个Java文件夹.将jdk和 ...
- stm32串口学习(二)
今天继续学习stm32的串口编程(利用库函数).上次我们说了串口的发送,这次我们说接收. 接收可以用查询的方法,也可以用中断.显然,工程中多用中断的方式,那么就来看看中断接收. 代码其实很简单,基本的 ...