ansible基础配置
1、基础配置
1.1、环境
主机配置
ansible版本:2.7.4
控制端:centos7.4,IP:192.168.1.213,主机名:operation
被控制端:
centos6.5,IP:192.168.1.216,主机名:master;
centos6.5,IP:192.168.1.217,主机名:slave
centos7.3,IP:192.168.1.214,主机名:lzcx
# 系统设置
# centos6.5
service iptables stop
chkconfig iptables off
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
setenforce Permissive
# 控制端
sed -i 's/localhost.localdomain/master/' /etc/hosts
# 被控制端
sed -i 's/localhost.localdomain/slave/' /etc/hosts
# centos7.4
systemctl stop firewalld
systemctl disable firewalld
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
# 3台机器重启
shutdown -r now
# 安装常命令
yum install wget vim lrzsz gcc xz -y
控制端安装python3.7和ansible
# 依赖安装
yum -y install epel-release
yum -y install openssl openssl-devel openssl-static python-pip python-devel zlib-devel libffi-devel python-rpm-macros
# 下载python3.7
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -Jxf Python-3.7.0.tar.xz
mkdir -p /usr/local/python3
cd ./Python-3.7.0
./configure --prefix=/usr/local/python3/
make
make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# 安装ansible
pip3 install ansible
1.2、创建ansible管理用户
生产环境中,不允许root通过ssh登录,所以选择一个普通用户做ansible的管理账户。这里的环境是新主机,刚刚申请后只有一个root用户,以下脚本完成ansible新建管理用户和实现管理用户的密钥分发,注意需要安装sshpass,脚本会检查,默认所有机器的root密码一样。
以下是批量部署,创建ansible用户、密钥分发和实现sudo权限,可以自定义用户名和密码
#!/bin/bash
#########################################################################
# File Name: batch_users.sh
# file_path: /root/script/batch_users.sh
# Author: 浪子尘心
# Mail: 536418286@qq.com
# Created Time: 2018-11-09 17:43:02
# Last Changed: 2018-11-09 17:58:53
# Description: batch create users in linux
# Version: 0.1
#########################################################################
which sshpass > /dev/null 2>&1
if [ $? -ne 0 ];then
echo "don't exist sshpass,please install sshpass"
exit;
fi
# select a user for ansible manager
ansible_user='ansible'
# passwd of ansible user
user_passwd='123456@Ap'
# root passwd
root_passwd='123456!Ab'
# creater a user
useradd ${ansible_user}
# change user passwd
echo ${user_passwd} | passwd --stdin ${ansible_user}
# make user to be the power of root
sed -i "92a ${ansible_user} ALL=(ALL) NOPASSWD: ALL" /etc/sudoers
# create private key
su - ${ansible_user} -c "ssh-keygen -t rsa -f /home/${ansible_user}/.ssh/id_rsa -N '' -q"
# config the public key
su - ${ansible_user} -c "sshpass -p${user_passwd} ssh-copy-id -i /home/${ansible_user}/.ssh/id_rsa.pub ${ansible_user}@127.0.0.1 -o StrictHostKeyChecking=no"
# batch create users and send public key
for line in `cat /root/script/ip_list.txt`
do
# create a user and change user passwd and make user to be root on remote
sshpass -p"${root_passwd}" ssh -o StrictHostKeyChecking=no root@${line} "useradd ${ansible_user} ; echo ${user_passwd} | passwd --stdin ${ansible_user} ; sed -i '92a ${ansible_user} ALL=(ALL) NOPASSWD: ALL' /etc/sudoers"
# send public key
su - ${ansible_user} -c "sshpass -p${user_passwd} ssh-copy-id -i /home/${ansible_user}/.ssh/id_rsa.pub ${ansible_user}@${line} -o StrictHostKeyChecking=no"
done
1.3、配置清单
下文中组名为 yuhui 的修改为 lzcx ,ip不变
[monitor]
192.168.1.213
[centos6]
192.168.1.[216:217]
[lzcx]
192.168.1.214
# 额外添加测试机器
[mysql]
192.168.1.20
192.168.1.21
[gzyk]
192.168.1.130
192.168.1.38
[dgyk]
192.168.1.162
[uim]
192.168.1.98
[yhgl]
192.168.1.172
ansible基础配置的更多相关文章
- Ansible基础配置与常用模块使用
环境介绍: Ansible服务端IP:192.168.2.215 Ansible客户端IP:192.168.2.216.192.168.2.218.192.168.2.113 一.创建Ansibl ...
- ansible基础配置使用(一)
test test test
- ansible基础-安装与配置
一 安装 1.1 ansible架构 ansible是一个非常简单的自动化部署项目,由python编写并且开源.用于提供自动化云配置.配置文件管理.应用部署.服务编排和很多其他的IT自动化需求. an ...
- linux系统ansible一键完成三大服务器基础配置(剧本)
ansible自动化管理剧本方式一键完成三大服务器基础配置 环境准备:五台服务器:管理机m01:172.16.1.61,两台web服务器172.16.1.7,172.16.1.8,nfs存储服务器17 ...
- Centos 7.2 Jenkins+Ansible+Gitlab 基础配置
注意:首先准备jenkins服务器 如何搭建jenkins 由于上篇文章中jenkins是采用war并部署在tomcat中来完成的安装,所以这里隆重介绍下启动tomcat的用户:tomcat,下面会 ...
- ansible基础-理解篇
1. 介绍 要说现在的部署工具,ansible可以说家喻户晓了. ansible是一个开源软件,用于软件供应.配置管理.应用部署.ansible可以通过SSH.remote PowerShell.其他 ...
- ansible基础-playbooks
1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...
- ansible基础-ansible角色的使用
ansible基础-ansible角色的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们建议把多个节点都会用到的功能将其定义模块,然后谁要用到该模块就直接调用即可!而在a ...
- ansible基础-playbook剧本的使用
ansible基础-playbook剧本的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.YAML概述 1>.YAML的诞生 YAML是一个可读性高,用来表达数据序 ...
随机推荐
- 六:多线程--自定义NSOperation
一.实现一个简单的tableView显示效果 实现效果展示: 代码示例(使用以前在主控制器中进行业务处理的方式) 1.新建一个项目,让控制器继承自UITableViewController. 3 // ...
- Linux 性能工具集
系统级别: 下面这些工具利用内核的计数器在系统软硬件的环境中检查系统级别的活动. vmstat: 虚拟内存和物理内存的统计,系统级别. mpstat: 每个CPU 的 使用情况. iostat: 每个 ...
- 微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出?
ylbtech-微信公众平台-文章-app:让创意变为现实,这30个小程序“凭什么”脱颖而出? 1.返回顶部 1. 让创意变为现实,这30个小程序“凭什么”脱颖而出? 微信公开课 昨天 创意1:为多种 ...
- DoDataExchange的作用
void CDlgSelectCS::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Te ...
- package-lock.json到底是干嘛的?(转载)
package-lock.json到底是干嘛的? https://mp.weixin.qq.com/s/NaVVljKrQAFmHMdbkaYmPg## nvm-windows https://git ...
- python pep8 命令规范
命名规范:总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格.1 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母.2 模块命名尽量短小,使用全部小写的方式,可以使用下划线. ...
- Linux 常用命令八 find
一.find命令 find命令用于查找文件. 按文件名字查找: wang@wang:~/workpalce/python$ sudo find / -name "create.txt&quo ...
- 【插件开发】—— 10 JFace开发详解
前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭配 6 SWT复杂空间与布局搭配 7 SWT布局详解 ...
- (图论)51NOD 1298 圆与三角形
给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交.相交输出"Yes",否则输出"No".(三角形的面积大于0). 输入 第1行:一个数T, ...
- (DP ST表 线段树)51NOD 1174 区间中最大的数
给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少. 例如: 1 7 6 3 1.i = 1, j = 3,对应的数为7 6 3,最大的数为7. ...