ansible

Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘

我与影子孤独终老i 提交于 2020-08-04 09:17:47
百度云盘:Python自动化运维 技术与最佳实践PDF高清完整版免费下载 提取码:l7cd 内容简介 本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务监控、数据报表、系统安全等基础模块,而且深入讲解了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产环境的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。 全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务监控、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入讲解了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量监控平台、如何构建桌面版C

pause ansible playbook for user confirmation, whether to run rest tasks

岁酱吖の 提交于 2020-08-03 12:18:07
问题 I am running an ansible-playbook which have many tasks listed. All of them use to get run one by one, but I want to pause the playbook after a particular tasks to asks the user if he wants to continue running the rest of the tasks or exit. I have seen the pause module of ansible but couldn't see any example which asks users for yes or no which in turn continue or exit the ansible-playbook accordingly. 回答1: The pause module actually does exactly that. But it does not give you an option to

Ansible : create a relative symlink

孤街浪徒 提交于 2020-07-31 16:02:46
问题 In my playbook, I need to create a symbolic link for a repo. With command (shell) it may work like this: ########## Create symbolic link - name: Create symbolic link shell : ln -s "{{SOURCE_FOLDER}}" SYMLINK args : chdir : "/opt/application/i99/" when: - ansible_host in groups['ihm'] -> like this my symbolic link is created directly inside i99 repo / SYMLINK -> SOURCE_FOLDER But while doing it with the Ansible file module, like this: ########## Create symbolic link - name: Create symbolic

Ansible : create a relative symlink

六眼飞鱼酱① 提交于 2020-07-31 15:55:30
问题 In my playbook, I need to create a symbolic link for a repo. With command (shell) it may work like this: ########## Create symbolic link - name: Create symbolic link shell : ln -s "{{SOURCE_FOLDER}}" SYMLINK args : chdir : "/opt/application/i99/" when: - ansible_host in groups['ihm'] -> like this my symbolic link is created directly inside i99 repo / SYMLINK -> SOURCE_FOLDER But while doing it with the Ansible file module, like this: ########## Create symbolic link - name: Create symbolic

ansible生产环境使用场景(一)

一曲冷凌霜 提交于 2020-07-29 08:19:41
前言: 本文记录了生产环境新增用户、修改密码、用户提权、用户资源限制修改、开启命令审计等操作。 环境说明: 主机名 操作系统版本 ip ansible version 备注 ansible-awx Centos 7.6.1810 172.27.34.50 2.9.9 ansible管理服务器 master01/02/03 ... Centos 7.6.1810 172.27.34.28/29/35/36/37/161/162/163/85 / 被管服务器 一、加密hosts 1.查看hosts列表 [root@ansible-awx ~]# more /etc/ansible/hosts [test01] test28 ansible_host=172.27.34.28 test29 ansible_host=172.27.34.29 test35 ansible_host=172.27.34.35 test36 ansible_host=172.27.34.36 test37 ansible_host=172.27.34.37 test161 ansible_host=172.27.34.161 test162 ansible_host=172.27.34.162 test163 ansible_host=172.27.34.163 [test02] test85 ansible

anisble技巧

社会主义新天地 提交于 2020-07-28 20:32:16
转载自: https://www.cnblogs.com/kevingrace/p/11647338.html 感谢作者不吝分享,仅学习交流。如有侵权,立即删除。 Ansible默认只会创建5个进程并发执行任务,所以一次任务只能同时控制5台机器执行。如果有大量的机器需要控制,例如20台,Ansible执行一个任务时会先在其中5台上执行,执行成功后再执行下一批5台,直到全部机器执行完毕。使用-f选项可以指定进程数,指定的进程数量多一些,不仅会实现全并发,对异步的轮训poll也会有正面影响。 Ansible默认是 同步阻塞模式 ,它会等待所有的机器都执行完毕才会在前台返回。Ansible可以采取异步执行模式。异步模式下,Ansible会将节点的任务丢在后台,每台被控制的机器都有一个job_id,Ansible会根据这个job_id去轮训该机器上任务的执行情况,例如某机器上此任务中的某一个阶段是否完成,是否进入下一个阶段等。即使任务早就结束了,但只有轮训检查到任务结束后才认为该job结束。Ansible可以指定任务检查的时间间隔,默认是10秒。除非指定任务检查的间隔为0,否则会等待所有任务都完成后,Ansible端才会释放占用的shell。如果指定时间间隔为0,则Ansible会立即返回(至少得连接上目标主机,任务发布成功之后立即返回),并不会去检查它的任务进度。

Docker+Kubernetes=?已成为快速部署和发布的行业新规范

守給你的承諾、 提交于 2020-07-28 17:50:30
导语 同时使用Docker和Kubernetes已成为行业中更快的应用程序部署和发布的新规范。 正文 当前,有越来越多的公司开始接受云原生的DevOps之旅,了解Docker和Kubernetes之类的工具对实现数字化转型的重要性。 随着公司迁移其基础架构和体系结构以适应云原生和数据驱动时代不断发展的技术趋势,我们已经看到了对云计算、容器化和编排解决方案的兴趣。 在谈论云原生时,很难忽略诸如Docker和Kubernetes之类的名称,它们彻底改变了我们大规模创建、开发、部署和交付软件的方式。 Docker实战 由于Docker容器提供了自己的OS库,因此Docker通过帮助开发人员在相同的环境中运行应用程序而使开发人员真正轻松了起来,而没有诸如依赖项或OS之类问题的麻烦。在引入Docker之前,开发人员会将代码发送给测试人员,但是由于各种依赖性问题,很多时候代码无法在测试人员的计 算机上运行,但在开发人员的计算机上却可以正常工作。 引入Docker之后,情况发生了变化:测试人员和开发人员现在在Docker容器上运行相同的系统,因此不再有混乱——两者都可以在Docker环境中运行应用程序而没有任何困难或依赖关系上的差异。 使用Docker构建和部署容器 Docker帮助开发人员在容器内创建和部署软件。它是一个开源工具,可以让我们“在任何地方构建,发布和运行应用程序”。

Ansible API 2.0的测试

爱⌒轻易说出口 提交于 2020-07-28 11:29:06
因项目需要使用到ansible api,根据修改官方文档提供的使用范例,经过多次测试,现将能用的代码分享给大家,大家只需根据自己的实际环境修改该代码即可。 官方文档: http://docs.ansible.com/ansible/latest/dev_guide/developing_api.html#python-api-2-0 注意: 在运行此代码的主机需无密码登录目标主机,也就是说您需要下发本机的ssh公钥到目标主机 #coding:utf-8 import json from collections import namedtuple from ansible.parsing.dataloader import DataLoader from ansible.vars.manager import VariableManager from ansible.inventory.manager import InventoryManager from ansible.playbook.play import Play from ansible.executor.task_queue_manager import TaskQueueManager from ansible.plugins.callback import CallbackBase class

Ansible 一: 配置ansible

↘锁芯ラ 提交于 2020-07-27 18:59:29
安装方法: sudo apt-get install ansible 执行ansible –version。出现如下的打印表示安装成功 Ansible部署方式有两种,第一种是控制windows,第二种是控制linux (一)Ansible控制linux 在/etc/ansible下面有2个文件分别是ansible.cfg 是ansible的配置文件。另外一个是hosts文件,是配置主机用的。在hosts的[webservers]组下配置主机IP地址,ssh用户名,端口以及密码 在ansible.cfg中将#host_key_checking = False 将#号去掉即可 执行测试命令sudo ansible webservers -m ping -k。出现如下错误。 解决方法: Sudo apt-get install sshpass 再次执行就成功了。 如果我们不想用密码去连接。可以用证书认证的方式。 1 ssh-keygen -t rsa 生成秘钥证书。在.ssh文件夹下会产生id_rsa和id_rsa.pub两个秘钥文件。 2 运行ssh-copy-id username@xx.xx.xx.xx 将秘钥上传到客户端上 3 在客户端的.ssh文件下面就会生成一个authorized_keys的文件 4 此时在/etc/ansibles/hosts文件中只需要配置客户端的IP

How to setup ansible playbook that is able to execute kubectl (kubernetes) commands

℡╲_俬逩灬. 提交于 2020-07-22 07:57:09
问题 I'm trying to write simple ansible playbook that would be able to execute some arbitrary command against the pod (container) running in kubernetes cluster. I would like to utilise kubectl connection plugin: https://docs.ansible.com/ansible/latest/plugins/connection/kubectl.html but having struggle to figure out how to actually do that. Couple of questions: Do I need to first have inventory for k8s defined? Something like: https://docs.ansible.com/ansible/latest/plugins/inventory/k8s.html. My