主机规划

主机名称 操作系统版本 内网IP 外网IP(模拟) 安装软件
ansi-manager CentOS7.5 172.16.1.180 10.0.0.180 ansible
ansi-haproxy01 CentOS7.5 172.16.1.181 10.0.0.181  
ansi-haproxy02 CentOS7.5 172.16.1.182 10.0.0.182  
ansi-web01 CentOS7.5 172.16.1.183 10.0.0.183  
ansi-web02 CentOS7.5 172.16.1.184 10.0.0.184  
ansi-web03 CentOS7.5 172.16.1.185 10.0.0.185  

在实际使用中并不需要对ansible配置进行修改,或者说只有需要的时候才修改ansible配置。

添加用户账号

说明:

1、 运维人员使用的登录账号;

2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;

3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。

 # 使用一个专门的用户,避免直接使用root用户
# 添加用户、指定家目录并指定用户密码
# sudo提权
# 让其它普通用户可以进入该目录查看信息
useradd -u -d /app yun && echo '' | /usr/bin/passwd --stdin yun
echo "yun ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chmod /app/

Ansible 部署流程

添加 epel 源「如果没有的话」

添加阿里云 epel 源

https://opsx.alibaba.com/mirror

Ansible 安装与版本信息查看

 [root@ansi-manager ~]# yum install -y ansible
[root@ansi-manager ~]# whereis ansible # ansible 位置信息
ansible: /usr/bin/ansible /etc/ansible /usr/share/ansible /usr/share/man/man1/ansible..gz
[root@ansi-manager ~]# ansible --version # 版本信息查看
ansible 2.8. # ansible 版本
config file = /etc/ansible/ansible.cfg # 使用的配置文件
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] # 模块查找路径
ansible python module location = /usr/lib/python2./site-packages/ansible # ansible Python 模块位置,使用 Python 2.7
executable location = /bin/ansible # ansible 执行文件的位置
python version = 2.7. (default, Apr , ::) [GCC 4.8. (Red Hat 4.8.-)] # Python 版本信息
[yun@ansi-manager ~]$ ll /usr/bin/ansible /bin/ansible # ansible 命令位置
lrwxrwxrwx root root Jun : /bin/ansible -> /usr/bin/ansible-2.7
lrwxrwxrwx root root Jun : /usr/bin/ansible -> /usr/bin/ansible-2.7

Ansible 配置文件讲解

Ansible配置文件查找顺序

ansible 将从多个地方查找配置文件,顺序如下:

1、从环境变量 ANSIBLE_CONFIG 中查找,如果该环境变量有值的话;

2、当前目录的 ansible.cfg 文件;「每个项目都可以有一个该配置文件,这样可以更好的管理项目,移植时也更方便。」

3、当前用户家目录的 .ansible.cfg 文件;

4、/etc/ansible/ansible.cfg 文件。

可以使用 ansible –version 命令查看使用的配置文件。

在 /etc/ansible/ansible.cfg 配置文件中有该说明

Ansible 部分配置文件讲解

实际生产中可以无需做任何修改。

 [yun@ansi-manager ansible]$ pwd
/etc/ansible
[yun@ansi-manager ansible]$ vim ansible.cfg
#inventory = /etc/ansible/hosts # 受控端主机资源清单
#library = /usr/share/my_modules/ # 所需依赖库路径
#remote_tmp = ~/.ansible/tmp # 远端机器,临时文件存放位置
#local_tmp = ~/.ansible/tmp # 本机临时文件存放位置
#forks = # 默认并发数
#poll_interval = # 默认轮询时间间隔(单位秒)
#sudo_user = root # 默认sudo后的用户
#ask_sudo_pass = True # 使用sudo,是否需要输入密码
#ask_pass = True # 是否需要输入密码
#transport = smart # 传输方式
#remote_port = # 默认远程主机的端口号
#module_lang = C # 模块和系统之间通信的语言
#module_set_locale = False
………………
# uncomment this to disable SSH key host checking 取消注释以禁用SSH key主机检查 【默认是注释掉的,要检查主机指纹】
host_key_checking = False # 解开注释,即跳过检查主机指纹 【只有 root 用户执行时才有该取消指纹检测的权限】
………………
# logging is off by default unless this path is defined
# if so defined, consider logrotate
#log_path = /var/log/ansible.log # 开启ansible日志
………………
[privilege_escalation] # 普通用户提权配置「使用地方:普通用户远程提权使用」
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False

上述的 [privilege_escalation] 配置,可在 ansible -h 中查看如何使用。如下:

 [yun@ansi-manager ~]$ ansible -h
………………
Privilege Escalation Options: # 权限提升选项
control how and which user you become as on target hosts -b, --become run operations with become (does not imply password
prompting)
--become-method=BECOME_METHOD
privilege escalation method to use (default=sudo), use
`ansible-doc -t become -l` to list valid choices.
--become-user=BECOME_USER
run operations as this user (default=root)
-K, --ask-become-pass
ask for privilege escalation password
………………

———END———如果觉得不错就关注下呗(-^O^-) !

Ansible-安装配置的更多相关文章

  1. Ansible安装配置及命令使用详解

    Ansible和saltstack目前市面上一些其它的项目管理工具有很大的不同,它的设计初衷就是为了更方便.快捷的进行配置管理.它易于安装和使用.语法也非常简单易学.你可以用Ansible将平常复杂的 ...

  2. Ansible安装配置Nginx

    一.思路 现在一台机器上编译安装好nginx.打包,然后在用ansible去下发 cd /etc/ansible 进入ansible配置文件目录 mkdir roles/{common,install ...

  3. Ansible安装配置及使用

    一.Ansible特点 1.不需要安装客户端,通过sshd通信 2.基于模块工作,模块可以由任何序言开发 3.不仅支持命令行使用模块,也支持编写yaml格式的playbook 4.支持sudo 5.有 ...

  4. Ansible安装配置

    Ansible工具的安装与配置 Ansible基于SSH,不需要在远程端安装任何软件,只需要在管理端安装ansible及其组件即可. Ansible使用前提是已配置ssh密钥免登陆. 一.安装组件: ...

  5. 1、Ansible安装配置

    ansible介绍: Ansible是一款基于Python开发的自动化运维工具,主要是实现批量系统配置.批量程序部署.批量运行命令.批量执行任务等等诸多功能.Ansible是一款灵活的开源工具,能够很 ...

  6. ansible安装配置及最佳实践roles

    ansible是什么? ansible是一款轻量级配置管理工具,用于远程批量部署.安装.配置.类似的还有puppet.saltstack,各有所长,任君自选. 官方文档:http://docs.ans ...

  7. ansible安装配置zabbix客户端

     安装软件 ansible host -m apt -a "name=zabbix-agent state=present" ansible host -m shell -a ...

  8. (一)ansible 安装配置

    CentOS 7.5 一,安装 yum -y install ansible 二,配置hosts文件 /etc/ansible/hosts s1 ansible_ssh_port= ansible_s ...

  9. ansible安装配置及基本用法

    ansiblle具有如下特点: 1.部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作: 2.默认使用SSH协议对设备进行管理: 3.主从集中化管理: 4.配置简单.功能强大.扩展性强 ...

  10. 使用ansible安装配置zabbix客户端

    ansible角色简介: 目录名 说明 defaults 默认变量存放目录 handlers 处理程序(当发生改变时需要执行的操作) meta 角色依赖关系处理 tasks 具体执行的任务操作定义 t ...

随机推荐

  1. C++ 回调函数简单示例

    回调函数其实就是以函数指针做函数参数传递给另一个函数,在另一个函数执行的时候可以根据函数指针执行回调函数的代码.简单示例,便于理解,防止遗忘. #include <iostream> ty ...

  2. sequelize 应用hook 实现对分表的访问

    https://github.com/cclient/sequelize-shardinghttps://www.npmjs.com/package/sequelize-sharding 实际有效的代 ...

  3. Codeforces Round #572 (Div. 1) 差E

    Codeforces Round #572 (Div. 1) A2 题意:给一棵树,带边权,互不相同且为偶数.每次操作是选两个叶子然后在路径上同时加一个数.初始边权全是0,求一个操作序列使得最终边权与 ...

  4. iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码

    iOS精选源码 LeeTagView 标签选择控件 为您的用户显示界面添加美观的加载视图 Swift4: 可拖动头像,增加物理属性 Swift版抽屉效果,自定义转场动画管理器 Swift 仿写喜马拉雅 ...

  5. [LC] 124. Binary Tree Maximum Path Sum

    Given a non-empty binary tree, find the maximum path sum. For this problem, a path is defined as any ...

  6. excle导出、导入、下载_jeesite注解@ExcelField

    介绍:对Apache POI 3.9的简单封装,实现Excel的导出导入功能.使用Annotation定义导出导入字段. 优点:1.简单易用,支持大数量导出,配置简单,代码量少. 2.支持Excel ...

  7. MySQL性能优化的21条最佳经验

    英文原文:<Top 20+ MySQL Best Practices>,编译:陈皓 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只 ...

  8. cs231n spring 2017 lecture7 Training Neural Networks II

    1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很 ...

  9. mysql挖掘与探索------第2章 索引1-2 全文索引FULLTEXT

    A 显示表的所有索引: show INDEX from phphi_article; B删除索引:alter table phphi_article drop INDEX fullwords; C添加 ...

  10. springboot项目实现jar包外配置文件管理

    背景 为实现快速搭建和开发,项目以Springboot框架搭建,springboot搭建的项目可以将项目直接打成jar包并运行,无需自己安装配置Tomcat或者其他服务器,是一种方便快捷的部署方式. ...