ansible

使用 Ansible 的第一天

两盒软妹~` 提交于 2021-02-04 09:38:31
一名系统管理员分享了如何使用 Ansible 在网络中配置计算机并把其带入实际工作的信息和建议。 无论是第一次还是第五十次,启动并运行一台新的物理或虚拟计算机都非常耗时,而且需要大量的工作。多年来,我一直使用我创建的一系列脚本和 RPM 来安装所需的软件包,并为我喜欢的工具配置各种选项。这种方法效果很好,简化了我的工作,而且还减少了在键盘上输入命令的时间。 我一直在寻找更好的工作方式。近几年来,我一直在听到并且读到有关 Ansible 的信息,它是一个自动配置和管理系统的强大工具。Ansible 允许系统管理员在一个或多个剧本playbook中为每个主机指定一个特定状态,然后执行各种必要的任务,使主机进入该状态。这包括安装或删除各种资源,例如 RPM 或 Apt 软件包、配置文件和其它文件、用户、组等等。 因为一些琐事,我推迟了很长一段时间学习如何使用它。直到最近,我遇到了一个我认为 Ansible 可以轻松解决的问题。 这篇文章并不会完整地告诉你如何入门 Ansible,相反,它只是对我遇到的问题和我在一些隐秘的地方发现的信息的做了一些记录。我在各种在线讨论和问答小组中找到的有关 Ansible 的许多信息都是错误的。错误范围包括明显的老旧信息(没有任何日期或来源的迹象),还有一些是完全错误的信息。 本文所介绍的内容是有用的,尽管可能还有其它方法可以完成相同的事情,但我使用的是

一文读懂云上DevOps能力体系

陌路散爱 提交于 2021-02-04 01:14:18
序言 云计算行业已经有十多年的发展了,话题早已从“要不要上云”转向“如何用好云”。“要不要”其实是一个决策性的话题,直到决策出来一个结果了,话题就算结束了。而“如何用好云”却是一个持续性的话题。 一般来说,在规划阶段开始,企业就会开始思考“如何用好云”,这个话题会伴随用云的整个过程。如果简单地从工作类型划分,除了业务代码的研发(Dev),其他的部分都可以称为运维(Ops),包含资源创建(环境部署)、应用部署、资源管理、资源监控、报警、故障排查等工作。 笔者从事云计算工作超过五年时间,参与开发过多款云产品,可以说既是云计算产品的消费者,也是云计算产品的生产者。在这里,笔者谈一谈对云上DevOps能力体系的多年思考和总结,希望对准备上云或是已经上云的运维人员有所帮助。 1 自动化运维等级金字塔 从运维自动化等级和程度来看,DevOps其实是一种非常高级的自动化,不仅自动化程度比较高,而且对于自动化的完成方式有着非常严格的定义。关于运维自动化与DevOps的关系,其实可以非常好地参考汽车自动驾驶技术分级标准,笔者做了个对比图,如图1。 图1:自动化运维等级金字塔 如图1,自动化运维可分为5个等级, 分别是手动运维、半手工/半自动化运维、高度自动化、标准化运维和AIOp s,分别对应自动化驾驶的6个Level,其中运维自动化L2对应了自动驾驶的Level 1和2

半自动化多站点屏蔽恶意用户的IP(脚本)

岁酱吖の 提交于 2021-02-01 08:47:15
前瞻: 用于多站点操作,基于ansible批量化操作 前提需要安装ansible且在nginx.conf中添加如下参数 include /usr/local/nginx/conf/denyIP; 在conf下创建denyIP,将屏蔽ip写入denyIP即可屏蔽 touch denyIP 因为使用的ansible所以每个zhandian(1-6)实际上在ansible/hosts中都是包含了多个站点的 #!/bin/bash read -p "请输入需要屏蔽的IP: " forbidip cat << EOF ---------------------------------------- |***************站点列表***************| ---------------------------------------- `echo -e "\033[35m 1)zhandian-1\033[0m"` `echo -e "\033[35m 2)zhandian-2\033[0m"` `echo -e "\033[35m 3)zhandian-3\033[0m"` `echo -e "\033[35m 4)zhandian-4\033[0m"` `echo -e "\033[35m 5)zhandian-5\033[0m"` `echo -e "\033[35m

老男孩教育-Linux中高级运维-58期-课程大纲-VIP视频--关注微信公众号"慕夏moox"获取

与世无争的帅哥 提交于 2021-01-30 19:25:01
老男孩教育-Linux中高级运维-58期-课程大纲-VIP视频 阶段1 第一阶段:Linux核心基础(4周) 可掌握的核心能力 1. Linux系统基础原理与配置优化; 2. Linux系统120个核心基础命令; 3. Linux系统用户权限管理; 4. Linux系统三剑客企业级实战应用 5. Linux系统定时任务企业级实战应用; 6. Linux系统磁盘、RAID核心原理 7. Shell编程基础入门; 8. 计算机网络原理与企业级实战案例 市场价值 1. 能够针对企业需求编辑编写服务器维护脚本; 2. 能够对企业服务器固定资产管理,配置; 3. 能够根据企业需求对系统账号进行维护权限设置; 4. 通过三剑客等核心命令对系统日志分析处理; 5. 对企业网络进行布线,网络架构搭建,路由交换配置; 实战案例 1. 企业级Centos6,7系统安装配置优化; 2. 企业级RAID卡配置方案; 3. Xshell远程连接故障、原理及排错; 4. 企业级系统数据打包备份实战; 5. 三剑客日志分析计算最大访问量ip案例; 6. 通过sed命令批量为SVN版本管理系统增加用户和密码; 7. 文件删除及企业级数据丢失故障及修复案例; 阶段2 第二阶段:Linux企业常用基础服务(1周) 可掌握的核心能力 1. 掌握企业级传统5层架构模型原理 2.

Ansible Playbook throwing this error - failed to transfer file to /tmp

醉酒当歌 提交于 2021-01-29 22:18:54
问题 I am getting bugged by this unknown error while running my playbook. My playbook does multiple things using roles like downloading the release war files from nexus (my application has 10 war files), copying it to remote host, creating webapp folder, exploding the war etc. It is getting failed by the below error during Unarchive module - Playbook Command - ./ansible-playbook my-main.yml --tags=repodownload,copyrepo,explodewar,starttomcat -e my_release_version=1.0.0-01 -e target_env=preprod

Ansible Playbook throwing this error - failed to transfer file to /tmp

耗尽温柔 提交于 2021-01-29 21:36:57
问题 I am getting bugged by this unknown error while running my playbook. My playbook does multiple things using roles like downloading the release war files from nexus (my application has 10 war files), copying it to remote host, creating webapp folder, exploding the war etc. It is getting failed by the below error during Unarchive module - Playbook Command - ./ansible-playbook my-main.yml --tags=repodownload,copyrepo,explodewar,starttomcat -e my_release_version=1.0.0-01 -e target_env=preprod

Ansible Playbook throwing this error - failed to transfer file to /tmp

删除回忆录丶 提交于 2021-01-29 19:00:55
问题 I am getting bugged by this unknown error while running my playbook. My playbook does multiple things using roles like downloading the release war files from nexus (my application has 10 war files), copying it to remote host, creating webapp folder, exploding the war etc. It is getting failed by the below error during Unarchive module - Playbook Command - ./ansible-playbook my-main.yml --tags=repodownload,copyrepo,explodewar,starttomcat -e my_release_version=1.0.0-01 -e target_env=preprod

Run Ansible Playbooks by region

 ̄綄美尐妖づ 提交于 2021-01-29 18:57:55
问题 first of all: I am still an Ansible newbie and I am just getting used to it. i want to write a playbook that calls up a different playbook depending on the location of the client. For example: i have 3 different playbooks specifically for certain regions, usaclient.yml, euclient.yml and asiaclient.yml these playbooks should be executed automatically via a "master playbook". if the "master playbook" is executed on a european client, the playbook "euclient.yml" should be started. does anyone

Ansible 2.10 on MacOS with Python 3

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-29 18:42:03
问题 What's correct way to install Ansible on MacOS? I'v tried a few ways and none works: brew has only 2.9 installing Python 3 via brew or asdf and using pip to install Ansible - Ansible is not on the path, nor in Lib folder Edit: I've noticed an error, when tryig to manually run ansible script: /usr/local/opt/python@3.9/bin/python3.9: bad interpreter: No such file or directory Looking at the script it tries to use: #!/usr/local/opt/python@3.9/bin/python3.9 which doesn't seem too be a correct

How to specify become password for tasks delegated to localhost

依然范特西╮ 提交于 2021-01-29 17:27:27
问题 I have a playbook that targets a particular host. But there are few tasks that I need to execute locally, so i am using "delegate_to" for those tasks. A few locally delegated tasks require sudo privileges, so I used "become: yes" and passed --ask-become-pass through command line and it worked fine. But now when I have created a job on ansible tower, how do I manage to provide become password for the user(i guess awx user) that is running the job??? 回答1: You'll want to set the special variable