第1天:Ansible安装部署
Ansible介绍
Ansible是一个简单的自动化引擎,可完成配置管理、应用部署、服务编排以及各种IT需求。它是一款使用Python语言开发实现的开源软件,其依赖Jinjia2、paramiko和PyYAML这几个python库。
Ansible安装部署简单,只需要再主控端部署Ansible环境,被控端无须做任何操作,基于SSH进行配置管理。Ansible作为自动化系统运维的一大利器,在构建整个体系过程中有这举足轻重的地位。其简单易用、易于安装、功能强大、便于分享、内含大量模板等都是它的魅力所在,再加上易封装、接口调用方便,Ansible正在被越来越多的大公司采用。
安装Ansible
Ansible使用Python语言开发,我们可以直接使用pip进行安装,也可以用Linux下的包管理工具(如yum、apt-get)进行安装
pip install ansible #主控端安装即可
| 角色 | ip | 主机名 | 用户 |
| 主控端 | 192.168.88.1 | c1.heboan.com | heboan |
| 被控端 | 192.168.88.2 | c2.heboan.com | heboan |
| 被控端 | 192.168.88.3 | c3.heboan.com | heboan |
主控端生成ssh证书,并分发给被控端,使得主控端可以免密连接被控端
[heboan@c1 ~]$ ssh-keygen -t rsa
[heboan@c1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.88.2
[heboan@c1 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.88.3
使用Ansible操作远程服务器时 ,首先需要确定是操作哪些服务器,然后再确定对这些服务器执行哪些操作。Ansible默认会读取/etc/ansible/hosts文件中配置的服务器列表,例如/etc/ansible/hosts文件内容如下:
[heboan@c1 ~]$ cat /etc/ansible/hosts
[test]
192.168.88.2
192.168.88.3
Ansible中存在一个名为ping的模块,该模块并不是测试服务器的网络连接是否正常,而是尝试建立SSH连接,以便验证用户的SSH配置是否已经正确
[heboan@c1 ~]$ ansible test -m ping
192.168.88.3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.88.2 | SUCCESS => {
"changed": false,
"ping": "pong"
}
test :代表我们定义的两台服务器
-m:指定了需要操作的模块
ping:s是一个模块的名称
Ansible默认使用当前的用户和默认的22号端口与远程 服务器建立SSH连接,如果需要使用其他用户,或者非默认的SSH端口号,可以在host之后添加用户名或端口号的配置
[heboan@c1 ~]$ cat /etc/ansible/hosts
[test]
192.168.88.2 ansible_user=heboan ansible_port=2202
192.168.88.3 ansible_user=heboan ansible_port=2202
一般情况下,工作环境中的服务器ssh用户和ssh端口都相同,如果有很多远程服务器,每一台服务器都需要配置ansible_user或ansible_port参数,如果依然使用上面的方式配置,会显得非常冗余。Ansible默认使用/etc/ansible/ansible.cfg文件,可以设定一些默认值,这样就不需要对同样的内容输入多次
[heboan@c1 ~]$ cat /etc/ansible/ansible.cfg
[defaults]
remote_port = 2202
remote_user = heboan
第1天:Ansible安装部署的更多相关文章
- Ansible安装部署以及常用模块详解
一. Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...
- Ansible安装部署
Ansible安装部署 Ansible是一种集成IT系统的配置管理, 应用部署, 执行特定任务的开源平台. 它基于Python语言实现, 部署只需在主控端部署Ansible环境, 被控端无需安装代理工 ...
- Ansible安装部署及常用模块详解
Ansible命令使用 Ansible语法使用ansible <pattern_goes_here> -m <module_name> -a <arguments> ...
- 运维工具Ansible安装部署
http://blog.51cto.com/liqingbiao/1875921 centos7安装部署ansible https://www.cnblogs.com/bky185392793/p/7 ...
- 使用Ansible安装部署nginx+php+mysql之安装mysql(3)
三.使用Ansible安装mysql 1.mysq.yaml文件 - hosts: clong remote_user: root gather_facts: no tasks: # 安装rpm包 - ...
- 使用Ansible安装部署nginx+php+mysql之安装php(2)
二.使用Ansible安装php 1.php.yaml文件内容 - hosts: clong remote_user: root gather_facts: no tasks: # 安装libseli ...
- 使用Ansible安装部署nginx+php+mysql之安装nginx(1)
使用Ansible安装nginx 1.nginx.yaml文件 --- - hosts: clong remote_user: root gather_facts: no tasks: # 安装epe ...
- Ansible安装部署和常用命令,及其主机清单inventory(二)
1.ansible的安装方式 1.1使用yum源安装 yum install ansible -y 1.2使用rpm包安装 https://dl.fedoraproject.org/pub/epel/ ...
- 使用Ansible安装部署nginx+php+mysql之配置iptables防火墙(0)
前提: 1.已配置好hosts文件且免密码登录 2.需要的yaml文件已上传到主控端 一.使用Ansible配置iptables 1.iptables.yaml文件 --- - hosts: clon ...
随机推荐
- [洛谷P3242] [HNOI2015]接水果
洛谷题目链接:[HNOI2015]接水果 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, 她觉得这个游戏太简 ...
- MyBatis框架的使用及源码分析(五) DefaultSqlSessionFactory和DefaultSqlSession
我们回顾<MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 一文的示例 private static SqlSessionFactory getSessionF ...
- ReaderWriterLockSlim 类
今天在看Nop源码时,PluginManager中用到了ReaderWriterLockSlim类,于是简单做个笔记. ReaderWriterLockSlim 表示用于管理资源访问的锁定状态,可实现 ...
- bzoj 2037: [Sdoi2008]Sue的小球——dp
Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩 ...
- 【BZOJ】1577: [Usaco2009 Feb]庙会捷运Fair Shuttle
[题意]公车从1开到n,有k群牛想从一个点到达另一个点,公车最多乘坐c个人,牛群可以拆散,问最多载多少牛到达目的地. [算法]贪心+堆 [题解]线段和点的贪心,一般有按左端点排序和按右端点排序两种方法 ...
- 牛客网刷题(纯java题型 1~30题)
牛客网刷题(纯java题型 1~30题) 应该是先extend,然后implement class test extends A implements B { public static void m ...
- Hadoop大数据生态系统及常用组件(山东数漫江湖)
经过多年信息化建设,我们已经进入一个神奇的“大数据”时代,无论是在通讯社交过程中使用的微信.QQ.电话.短信,还是吃喝玩乐时的用到的团购.电商.移动支付,都不断产生海量信息数据,数据和我们的工作生活密 ...
- Vue前端开发规范(山东数漫江湖)
一.强制 1. 组件名为多个单词 组件名应该始终是多个单词的,根组件 App 除外. 正例: export default { name: 'TodoItem', // ... } 反例: expor ...
- Django rest framework 的认证流程(源码分析)
一.基本流程举例: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^users/', views.HostView.as_view() ...
- linux编程之文件操作
在linux下用文件描述符来表示设备文件盒普通文件,文件描述符是一个整型的数据,所有对文件的操作都是通过文件描述符来实现的. 文件描述符是文件系统中连接用户空间和内核空间的枢纽,当我们打开一个或者创建 ...