Cable : 基于Ansible运维Web管理平台 Posted December 14, 2018 ? #Cable 注意: 代码质量不高, 稳定性极差。...Cable 在设计之初是 Ansible Tower 的替代品.基于WEB的ANSIBLE管理中心,使ANSIBLE更易于用于各种 IT 团队(需要有强烈的需求前提下, 默认避免线上操作)....可直接在 web 中使用 AD-HOC或者 PLAYBOOK 批量管理线上主机, 它支持短命令(AD-HOC)和 Playbook 的执行, 也可以对任务保存成模板供l以后方便复用。.../usr/bin/ansible命令调起。...他支持 ansible 所有模块(允许的情况)。并可以使用 ansible 所有 ad-hoc 参数和模块参数。
安装 ansible需要epel源,需要先安装epel源 yum install epel-release yum install ansible 配置 配置ansible的主机清单列表,把受控主机的IP...图片 172.10.0.18主机不可达,ansible是基于ssh的,ansible不知道172.10.0.18这台主机的用户名和密码,所以ansible无法连接到它。...我们可以在清单文件中加入对应主机的用户名和密码,也可以基于密钥的方式 以用户名和密码的方式 vim /etc/ansible/ansible.cfg host_key_checking = False...# 取消注释,关闭ssh key验证 vim /etc/ansible/hosts # 配置服务器密码 172.10.0.18 ansible_ssh_user=root ansible_ssh_pass...=123456 ansible_ssh_port=22 受控主机的信息已经配置完毕,在执行下刚才的命令 图片 命令成功执行 以密钥的方式 ssh-keygen # 先在ansible主机上生成密钥
五、ansible 常用模块 1、主机连通性测试 我们使用ansible web -m ping命令来进行主机连通性测试,效果如下: [root@server ~]# ansible web -m...fastdfs mogdata tmp web wKgleloeYoCAMLtZAAAWEekAtkc497.jpg [root@server ~]# ansible web -m command -...]# ansible-playbook nginx.yml 现在我们可以看看两台机器的端口是否开启: [root@server ansible]# ansible web -m shell -a '...但是我们需要先把服务关闭,再来运行剧本并引用标签: [root@server ansible]# ansible web -m shell -a 'systemctl stop nginx' [root...web10.test.com 192.168.13.211 web11.test.com 第三个例子:if语句 说明:如果定义端口号,就绑定定义的端口号,如果不定义端口号,就绑定默认端口号 ansible
地址: web1,IP地址:192.168.0.26 web1,IP地址:192.168.0.27 web2,IP地址:192.168.0.28 关闭防火墙与SElinux [root@ansible-server...web2 192.168.0.28 web3 管理节点与被管理节点实现SSH密钥认证 [root@ansible-server ~]# ssh-keygen 传递公钥到被管理节点 [root@ansible-server...~]# for i in web1 web2 web3 > do > ssh-copy-id $i > done 验证SSH免密登录 [root@ansible-server ~]# ssh web1...[root@web1 ~]# exit [root@ansible-server ~]# ssh web2 [root@web2 ~]# exit [root@ansible-server ~]# ssh...web3 [root@web3 ~]# exit 安装Ansible软件包 安装ansible软件包,由于ansible需要epel源,本实验配置了阿里的epel源和阿里的Base源(Base源用于安装
Ansbible测试ping主机$ ansible test -m ping -u gadmindtian-test | SUCCESS => { "ansible_facts": {..."ping": "pong"}-i:指定 inventory 文件,使用当前目录下的 hostsall:针对 hosts 定义的所有主机执行,这里也可以指定组名或模式-m:指定所用的模块,我们使用 Ansible...内置的 ping 模块来检查能否正常管理远端机器-u:指定远端机器的用户-----ansible playbook yml语法检查及查看当前playbook在哪些主机上执行$ ansible-playbook...-v --syntax-check check_hosthealth.ymlUsing /etc/ansible/ansible.cfg as config fileplaybook: check_hosthealth.yml...$ ansible-playbook check_hosthealth.yml --list-hostsplaybook: check_hosthealth.yml play #1 (test): test
一步一步用jenkins,ansible,supervisor打造一个web构建发布系统。 本来应该还有gitlab这一环节的,但是感觉加上,内容会增加很多。...installation/ubuntulinux/#ubuntu-trusty-1404-lts-64-bit 下面将要介绍的完整流程是: github作为源代码仓库 jenkins做为打包服务器,Web...jenkins生成的war包发布到远程服务器上 supervisor启动tomcat 在http端口等待tomcat启动成功 supervisor托管app进程,提供一个web界面可以查看进程状态,日志...:9001 --name='jenkins' ubuntu /bin/bash 8080是jenkins的端口,8101是spring-mvc-showcase的端口,9001是supervisor的web...进程,提供了web控制界面,所有运行的程序一目了然,很好用
用ansible在客户端上创建一个用户,用户名为test,脚本语言如下: [root@master ansible]# vim 1.yml --- - name: create_user ...]# vim 1.yml [root@master ansible]# ansible-playbook 1.yml PLAY [create_user] ********************...with_items: - 1.tst - 2.tst - 3.tst 然后执行一下: [root@master ansible]# ansible-playbook...~ 看一下执行的情况: [root@master ansible]# ansible-playbook 1.yml PLAY [testhosts] ************************...执行过程: [root@master ansible]# ansible-playbook 1.yml PLAY [handlers test] **************************
一步一步用jenkins,ansible,supervisor打造一个web构建发布系统。 本来应该还有Gitlab这一环节的,但是感觉加上,内容会增加很多。...下面将要介绍的完整流程是: github作为源代码仓库 jenkins做为打包服务器,Web控制服务器 ansible把war包,发布到远程机器 安装python-pip 用pip安装supervisor...交由supervisor托管 把jenkins生成的war包发布到远程服务器上 supervisor启动tomcat 在http端口等待tomcat启动成功 supervisor托管app进程,提供一个web...:9001 --name='jenkins' ubuntu /bin/bash 8080是jenkins的端口,8101是spring-mvc-showcase的端口,9001是supervisor的web...进程,提供了web控制界面,所有运行的程序一目了然,很好用 来源:http://hengyunabc.github.io/deploy-system-jenkins-ansible-supervisor
Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码、是否开启sudo认证、action_plugins... = /var/log/ansible.log \\需要时可以自行添加。...chown -R root:root ansible.log system_warnings = False \\关闭运行ansible时系统的提示信息,一般为提示升级 # set...= /usr/share/ansible_plugins/connection_plugins lookup_plugins = /usr/share/ansible_plugins/...其他部分 默认ansible 执行的时候,并不会输出日志到文件,不过在ansible.cfg 配置文件中有如下行: log_path = /var/log/ansible.log 默认log_path
, web2 不传 user 变量,web3 传 user 变量。...domain: deniss.wang port: 91 path: /var/www/html - name: web3 domain:...} 跟上面的用法一样,通过 ansible-playbook -t 参数指定 tags 进行单独调用 如下指定 tags 为 web 的 role 执行,其中会依次执行nginx 、golang、...# ansible-playbook -t web playbook.yml “roles when 语句 对 role 进行条件的判断....: vue, tags: ['web', 'vue'], when: (ansible_distribution == "Ubuntu" and ansible_distribution_major_version
Ansible的特点 1、ansible不需要单独安装客户端,也不需要启动任何服务 2、ansible是python中的一套完整的自动化执行任务模块 3、ansible playbook 采用...o Ansible Playbook 任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,yaml格式。...@ansible ~]# yum -y install ansible # 查看ansible版本 [root@ansible ~]# ansible --version Ansible Inventory...ansible命令格式 1)常用命令参数 [root@ansible ~]# ansible -h Usage: ansible [options]...[root@ansible ~]# ansible nginx --list [root@ansible ~]# ansible apache --list # 一个组的所有主机匹配
Ansible 变量 在ansible里面灵活的使用变量会使我们的工作变得更加灵活。...变量的定义 和大多数编程语言一样,ansible变量名应该由字符、数字、下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名。...": {}, "ansible_lsb": {}, "ansible_machine": "x86_64", "ansible_machine_id..."ansible_user_dir": "/root", "ansible_user_gecos": "root", "ansible_user_gid..._11 playbook]# ansible node3 -m setup -a 'filter=ansible_local' 10.0.0.13 | SUCCESS => { "ansible_facts
关于Ansible的整体介绍与使用,已经在:《自动化运维工具-Ansible》做过介绍,今天给大家介绍一下Ansible的Inventory。...=5555 ansible_host=192.0.2.50 注:执行 Ansible 对 “”jumper”” 主机执行命令时,会连接 192.0.2.50 的 5555 端口。...但是,在执行之前,Ansible始终将变量(包括 Inventory 清单变量)展平到主机级别。如果该主机是多个组的成员,则 Ansible 将从所有这些组中读取变量值。...ansible_ssh_pipelining # 设置是否使用 SSH 管道,可以在 ansible.cfg 设置 ansible_ssh_executable (added in version 2.2...ansible_*_interpreter #适用于 ruby or perl 等类型 ansible_python_interpreter 环境。
Ansible 不需要在远程主机上安装client/agents,因为它是基于ssh协议来和远程主机通讯的。因此,使用 Ansible 的前提是,在管理主机可以通过SSH协议远程登录所管服务器。...离线安装(略)三、使用3.1 Ansible 目录结构/etc/ansible├── ansible.cfg 默认配置文件,配置ansible工作特性,建议在每个项目目录下创建独有的配置文件├── hosts...设置hosts示例vim /etc/ansible/hosts[webservers]7.7.7.13 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass...='passwd'3.4 主机连通性测试ansible webservers -i /etc/ansible/hosts -m ping[root@node1:8 /etc/ansible/roles/...httpd/tasks]# ansible webservers -i /etc/ansible/hosts -m ping7.7.7.13 | SUCCESS => { "ansible_facts
ansible是什么 ansible是一个配置管理工具,是一个自动化运维工具。...,要满足两个要求: 1.要能通过ssh连接到受官主机 2.受官主机的ip等信息要添加到ansible的“管理清单”(文件在/etc/ansible/hosts) 安装ansible(这里使用yum) 1...ansible_port=22 ansible_user=root ansible_ssh_pass=123456 //简单调用 ansible 192.168.55.66 -m ping ansible...: 22 ansible_user: root ansible_ssh_pass: 123456 test: ansible_host: 192.168.55.100 ansible_port...ansible test -m fetch -a "src=/root/app/apache-tomcat-8.5.35/conf/web.xml dest=/root" copy 将本地文件上传到远程服务器
如上是我在主机列表中设置好的各主机组,现在可以通过通配符、交、并、补来操作ansible,用ping来查看效果,我们一般都用单引号来括住这些通配符或特殊字符: 通配符 并集
Ansible 模块 1、什么是Ansible模块?...2、Ansible命令及参数 # 语法格式: ansible -m -a # 也就是: ansible 匹配模式...重新启动计算机 service:管理服务 user:添加、删除和管理用户账户 Net Tools模块 get_url:通过http、https或者ftp下载文件 nmcli:管理网络 uri:与WEB...) gid=4000(newbie) 组=4000(newbie) # 设置newbie用户密码 [student@ansible ~/ansible]$ansible node1 -m user -...~/ansible]$ansible node1 -m lvol -a 'lv=lv0 size=1000M vg=vg0' # 在线扩容逻辑卷 [student@ansible ~/ansible
ansible是什么 如果我们Google一下ansible,第一条出来的就是ansible的官网,它的title是“Ansible is Simple IT Automation”,从这里我们就能了解了...ansible的目标:自动化。...Ansible给我们提供了一个自动化利器,还提供了一种思考方式。Ansible不是以动作来自动化软件安装,而是使用了状态来实现自动化。...其他的自动化工具相比的优势 ansible优势中最重要的就是简单。ansible无需你安装客户端,只需要在一台机器上安装好ansible,配置好ssh,就可以使用了。...如何使用ansible ansible使用只需3步 控制机安装ansible,可以使用pip,yum或源码安装 在目标机上加入控制机的ssh pub key,在控制机上都ssh一下,将目标机加入到known-hosts
由于工作需要重温ansible 安装ansible [root@ansible ~]# yum -y install ansible python多线程 最大支持5个1(1s)2(1s)3(1s)4...源码 whereis ansibleansible: /usr/bin/ansible /etc/ansible /usr/share/man/man1/ansible.1.gz/usr/lib/python2.7...其默认位置在 /etc/ansible/hosts ,如果不保存在默认位置,也可通过 -i 选项指定。被管理的机器可以通过其 IP 或域名指定。...未分组的机器需保留在 hosts 的顶部,分组可以使用 [] 指定 [root@ansible ~]# vim /etc/ansible/hosts [test]192.168.6.141192.168.6.142...[root@ansible ~]# ansible all -m ping192.168.6.142 | SUCCESS => { "changed": false, "ping": "pong
领取专属 10元无门槛券
手把手带您无忧上云