展开

关键词

Linux工具之ansible(一)

豌豆贴心提醒,本文阅读时间5分钟 发展的必然方向,同时也是一个工程师实现效率最大的必然选择。 的知识可以说是浩瀚如海,本文将选择其中一个工具ansible为大家介绍一下。 ansible是新出现的工具是基于Python研发的糅合了众多老牌工具的优点实现了批量操作系统配置、批量程序的部署、批量行命令等功能。 工具常见的工作模式 1、agent模式: 基于ssl实现。代理工作在被监控端。像puppet。 2、agentless模式: 基于ssh服务实现工作在被监控端。监控端是ssh的客户端。 并非必需可以让节点一次性行多个任务 三、ansible的基本使用 安装软件yum install ansible -y # 对应的软件在 epel 仓库中也可己手编译 #源码地址 https://

1.3K50

Linux工具之ansible(二)

定义变量 在 yaml 中可以使用vars关键字来定义变量: ? 变量的引用 ? 特殊的变量,迭代 当有需要重复性执行的任务时,可以使用迭代机制。 在下而下某playbook时,如果中途发生错误,所有已执行任务都将回滚,因此,在更正playbook后重新执行一次即可。 task的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。 3、handlers 用于当关注的资源发生变时采取一定的操作。 tags tags用于让用户选择行或路过playbook中的部分代码。ansible具有幂等性,因此会跳过没有变的部分,即便如此,有些代码为测试其确实没有发生变的时间依然会非常地长。 此时如果配置文件发生变: ? 至此基本使用配置完成。 ? ----

43260
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python

    psutil库 ---- 获取系统行的进程和系统利用率 [root@serverc ~]# yum -y install python2 [root@serverc ~]# yum -y install 开机时间等信息 >>> psutil.users() #返回当前登录系统的用户信息 >>> import psutil,datetime >>> psutil.boot_time() #获取开机时间,以linux 时间戳格式返回 >>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") #转换成然时间格式 系统进程管理方法 ---- >>> import psutil >>> psutil.pids() #列出所有进程PID >>> p = psutil.Process(1555) #实例一个 p.num_threads() #进程开启的线程数 popen类的使用 >>> import psutil >>> from subprocess import PIPE #通过psutil的Popen方法启的应用程序

    49920

    Linux云计算架构师(连载)-ansible-15

    1.1 ansible类习题 1.填空题 (1) 为了减少时间开销,可以借助_______来实现多台服务器的同一功能的一键部署,省时省力。 (3) Ansible通过_______将所有机器分成不同的组并定义不同的组名,行命令时只需要指定特定的组名就能达到批量操作的目的。 (5) Roles能够根据层次型结构装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用________指令引入即可。 2. A.类似第三方用作容器的工具 B.上线发布工具 C.监控系统服务工具 D.工具 (2) Ansible是基于 工作,其本身没有批量部署的能力。 A.第三方 B.免密 C.收费 D.免费 (6) Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所行的模块,Ansible只是提供一种( )。

    14810

    Linux云计算架构师(连载)-ansible-01

    本章就将对常见的工具进行详解。 1.1 Ansible简介 随着科技的发展,已经成为工程师必知必会的一项技能。 面对越来越复杂的业务及多样的用户需求,传统的人工方式操作单一、效率低下,已经无法满足业务对于服务器各方面的需求,标准、架构优、过程优等可以降低企业服务成本的因素越来越被社会重视。 其中,以最为突出。 技术的实现,改变了人与设备之间的操作模式,极大的提高了服务器各功能的完成效率。 工具以Puppet、Saltstack、Ansible为主要代表,但相对于Puppet和Saltstack而言,Ansible更加轻便及完善,故本章主要以Ansible为例来讲解的实现 1.1.2 Ansible简介 Ansible是一款基于Python开发的工具,集合了众多工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置

    18510

    Linux云计算架构师(连载)-ansible-02

    1.1.2 Ansible的模块 Ansible基于模块工作,其本身没有批量部署的能力。真正具有批量部署功能的是Ansible所行的模块,Ansible只是提供一种框架,如图1.2所示。 一般小型环境下只需要在host文件中写入主机的IP地址即可,但是到了中大型环境有可能需要使用静态主机清单或者态主机清单来生成所需要执行的目标主机。 l 拓展模块(CustomModules):用户可定义相应的模块。 l 连接插件(ConnectionPlugins):模块功能的补充。 也就是说Ansible执行任务,主要分为以下两种执行模式: 1、ad-hoc:单个模块,单条命令的批量执行。

    18120

    Linux云计算架构师(连载)-ansible-03

    860e:1ce2/64 scope link noprefixroute valid_lft forever preferred_lft forever 通过代码的反馈结果可以看到,Ansible主机直接登入了客户机

    15830

    Linux云计算架构师(连载)-ansible-04

    用户可直接在该文件中定义主机,具体代码如下所示。 在1.2.1小节中,作者已在Ansible服务器中加入了这三台主机的定义域名解析,故此处填写主机名即可,否则配置不生效。 #ping 己 [root@ansible ~]# ansible localhost -m ping localhost | SUCCESS => { "changed": false, "ping 使用过程中,人员可以添加一个参数“-o”,使其简洁输出,代码及如下所示。

    13510

    Linux云计算架构师(连载)-ansible-06

    1.1 Ansible主机清单 在主机清单中,Ansible将所有机器分成不同的组并定义不同的组名,行命令时只需要指定特定的组名就能达到批量操作的目的。 root@ansible ~]# cat /etc/ansible/hosts [webserver] host1 host2 host3 host4 [webservers] #注意,这里的用户名与密码以己的为准 discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "ping": "pong"} 通过代码可以看到,在主机清单中配置了用户名与密码的客户机能够被Ansible服务器连接

    9510

    Linux云计算架构师(连载)-ansible-07

    1.1.4 设置变量 在Ansible中的变量分为内置变量与定义变量,通过在主机清单中添加一些变量能简主机清单的设置。 1.1.6 定义主机列表 当客户机数量增大时,可以创建多个主机清单进行管理,或将其存放到不同的路径下。下面在/root下创建一个主机清单hostlist,具体代码如下所示。 discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 通过代码的反馈结果可以看到,系统通过指定定义的主机清单对客户机进行了连接

    11220

    Linux云计算架构师(连载)-ansible-08

    Ansible是基于模块进行工作的,用户可以通过命令查看Ansible当前已加载的模块,具体代码如下所示。

    13710

    Linux云计算架构师(连载)-ansible-09

    除了定义文件路径及操作权限之外,读者还可以根据需要定义其他参数,常用的参数如表1.4所示。

    14630

    Linux云计算架构师(连载)-ansible-13

    1.1 roles与角色扮演 1.1.1 角色简介 角色(roles)是Ansible1.2版本开始引入的新特性,用于层次性,结构地组织playbook。 roles能够根据层次型结构装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令引入即可。 l templates目录 templates模块会在此目录中寻找Jinja2模板文件。 l tasks目录 任务列表目录,这里应该至少包含一个名为main.yml的文件定义此角色的任务列表。

    14420

    Linux云计算架构师(连载)-ansible-14

    worker_connections(连接数量)是一个定义变量,需要在roles下的var文件夹中进行定义。 4.编写变量 由于配置文件中的worker_connections变量是用户的定义变量,所以需要用户来定义它的值,代码如下所示。 1.1 小结 本套章为读者介绍了工具Ansible的概念、工作原理、主机清单、配置模块、YAML语言的使用方式以及playbook的编写规则及案例实战。

    14930

    Linux云计算架构师(连载)-ansible-15

    1.1 ansible类习题 1.填空题 (1) 为了减少时间开销,可以借助_______来实现多台服务器的同一功能的一键部署,省时省力。 (3) Ansible通过_______将所有机器分成不同的组并定义不同的组名,行命令时只需要指定特定的组名就能达到批量操作的目的。 (5) Roles能够根据层次型结构装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用________指令引入即可。 2. A.类似第三方用作容器的工具 B.上线发布工具 C.监控系统服务工具 D.工具 (2) Ansible是基于 工作,其本身没有批量部署的能力。 A.第三方 B.免密 C.收费 D.免费 (6) Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所行的模块,Ansible只是提供一种( )。

    10520

    Linux云计算架构师(连载)-ansible-10

    用户模块可以帮助用户管理远程客户机中的用户,例如创建、删除、修改用户属性等。其常用的参数如表1.5所示。

    13430

    Linux云计算架构师(连载)-ansible-11

    [root@ansible ~]# ansible host1 -m yum -a 'name="*" state=latest'

    13310

    Linux云计算架构师(连载)-ansible-12

    YAML的语法和其他高级语言类似,有己的逻辑及语法要求,具体如下所示。 l 基本语法 ² 大小写敏感。 ² 使用缩进表示层级关系。 ² 缩进不允许使用tab,只允许空格。 - A - B - C YAML支持多数组,可以在行内表示,结构如下所示。 key: [value1, value2, ...] 此处通过一个例子来进行说明,示例如下所示。 l Hosts:行执行任务(task)的目标主机。 l remote_user:在远程主机上执行任务的用户。 l tasks:任务列表。

    16220

    Linux云计算架构师(连载)-ansible-12

    ,在Ansible服务器上执行该剧本,设定的客户机将会按照剧本己进行相关操作。 conf TAGS: [] ensure apache is running TAGS: [] 通过代码的反馈结果可以看到,目标客户机将会被执行三个任务:安装Apache、拷贝本机配置文件至目标客户机、启客户机的 image.png 图1.1 访问结果 通过图1.4中可以看到,host2的Apache服务行正常,说明Ansible成功执行了apache.yaml剧本。 1.1.1 触发器的使用 若Apache的配置文件发生变,Ansible是否可以再次行apache.yaml更新配置?答案是不能。此处通过一个案例来进行说明。 Apache.yaml只定义了启Apache的操作,并未定义配置文件更新后,重新启Apache。此处在apache.yaml定义处理程序,并对其进行引用,具体代码如下所示。

    12930

    之PSSH

    该项目包括psshlib,可以在定义应用程序中使用。 py2.6.egg-info 2.2 安装完成 使用yum安装后,只能使用pssh,但是编译安装后会包括其他命令也安装了(pscp prsync pnuke pslurp) pssh:在远程多台主机上并行行命令

    74730

    相关产品

    • 自动化助手

      自动化助手

      自动化助手(TAT)是云服务器的原生运维部署工具。通过自动化助手,您无需登录服务器,也无需打开入站端口、SSH,便可以直接管理实例,批量执行 Shell 命令,轻松完成运行自动化运维脚本、轮询进程、安装或卸载软件、更新应用以及安装补丁等常见管理任务。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券