ansible基本用法(代码片段)

zoer zoer     2022-12-14     184

关键词:

ansible

1、 ansible的架构图

技术图片

1)ansible基于ssh基础的配置管理、部署和任务执行系统
2)anisble是一个非常简单的模型驱动的配置管理,多节点部署和远程任务执行系统。Ansible作品通过SSH,不需要安装任何软件或守护进程在远程节点。扩展模块可以用任何语言编写

2 ansible特性

① 模块化:调用特定的模块,完成特定的任务
② 基于Python语言开发,由paramiko、pyyaml和jinja2三个核心库实现
③ 部署简单:agaentless不用代理程序
④ 支持自定义模块
⑤ 强大的playbook机制

3、ansible的安装及使用

1)yum -y install ansible #用yum安装ansible
2)安装成功后执行rpm -ql ansible #查看目录文件

/etc/ansible/ansible.cfg   #ansiblede 配置文S件  
/etc/ansible/hosts       #主机清单  
/etc/ansible/ansible-playbook    #程序  
/etc/ansible/ansible_plugins/   #插件目录 

3)配置主机清单
定义group组名,组名中包括主机名或者主机ip,可以任意定义group,并且主机可以在不同组内重复定义(前提条件是hosts与该主机进行了密钥对认证)

4常用模块使用方法

查看模块用法: ansible-doc -s 模块名
① ping模块:
ansible webservers1[all|webservers2] -m ping
② Command模块:
Ansible webservers -m command -a “ifconfig” #直接执行命令,但不识别管道符
③ shell模块 :在远程主机上调用shell解释器执行命令,支持shell各种功能,比如管道符。
Ansible webservers -m shell -a “echo ‘123’ | passwd --stdin test” #给test用户设置密码为123,但是如果用command模块,该命令则不能执行成功。
④ copy模块: 复制文件到远程主机与生成文件
ansible all -m copy -a “src=/etc/my.cnf dest=/tmp/my.cnf.bak mode=640” #复制源文件到目标文件并指定权限
ansible all -m copy -a “content=’hello world ’ dest=/tmp/ansible.file mode=777” #生成文件到目标文件并指定权限
⑤ file模块: 设置文件属性,设置目标文件状态
ansible webservers2 -m file -a “path=/tmp/my.cnf.bak owner=mysql” #设置/tmp/my.cnf.bak文件的属主为mysql
ansible webservers2 -m file -a “path=/tmp/my.cnf.bak state=absent” #state指定目标状态,目标文件状态为absent,即为删除
ansible webservers2 -m file -a “path=/tmp/test.ansible state=directory” #state目标文件状态为目录,则为创建新文件
ansible webservers2 -m file -a “path=/usr/sbin/nginx src=/usr/local/nginx/sbin/nginx state=link” #创建软连接






















ansible------ansible概述,搭建,用法(代码片段)

目录一.Ansible概述二.Ansible环境安装部署三.Ansible命令行模块1.command模块2.shell模块3.cron模块4.user模块5.group模块6.copy模块一.Ansible概述Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。... 查看详情

ansible基本用法

查看详情

自动化运维ansible实践(代码片段)

上篇提到了ansible基本安装、配置及命令行使用,这篇分享下ansible的高级用法即playbook,在生产环境如果需要完成负责任务,如大批量服务安装配置等,可以采用playbook方式来完成,高效且易于维护。第1章Playbook基本使用使用Playbo... 查看详情

ansible常用模块的用法(代码片段)

模块文件ping模块相对简单,没有参数ansible192.168.56.200-mpingcommand模块ansiblewebsrvs-mcommand-a‘chdir=/etc/catcentos-release‘使用command时不支持*管道的使用$也不支持shell模块ansiblewebsrvs-mshell-a"echo123456|passwd--stdinyunlon 查看详情

ansible的常见模块用法(代码片段)

...解:1,主配置文件:/etc/asiable/ansiable.cfgmodule_name=command##ansible的默认模块是command模块,但是在使用的时候非常的有局限性,建议改成shell模块host_key_checking=False##检查对应要控制主机的的host_key,建议取消注释,以减轻管理时需要... 查看详情

ansible的高级用法playbook(代码片段)

Ansible的高级用法playbookAnsible入门playbook工作过程YAML特性  YAML的可读性好  YAML和脚本语言的交互性好  YAML使用实现语言的数据类型  YAML有一个一致的信息模型  YAML易于实现  YAML可以基... 查看详情

ansible基本介绍(代码片段)

一、基础知识:1.简介      ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。   ... 查看详情

ansible-基本使用-2(代码片段)

ansible 基本模块及常见命令参数使用命令格式ansiblewebserver|www.a.com|1.1.1.1  (主机组/主机名/主机ip)  -m(模块参数)  shell(模块名字)  -a(命令参数)  “echoxxx”  远程登录方式密码方式之免交互  vi/etc/ansible/h... 查看详情

linux之ansible的角色基本使用(代码片段)

Linux之ansible的角色基本使用一、测试ansible的连通性二、创建角色的各级目录1.新建角色目录2.新增webserver的下各级目录3.各级目录的解释三、创建httpd相关文件1.创建/ansible/roles/webserver/tasks下相关文件2.创建/ansible/roles/webserver/handler... 查看详情

27.ansible基本模块(代码片段)

ansible和saltstack对比SaltStack底层有一个消息队列:Zero-MQ(messagequeue)#1.ansible是基于ssh协议来工作的,但是saltstack也有支持ssh协议的模式#2.但是一般来说,选择saltstack就是为了使用客户端和服务端的方式(速度快)#3.因为saltstack底... 查看详情

ansible--playbook用法与自己的yml范例总结(代码片段)

介绍命令用法运行playbook的方式ansible-playbook<filename.yml>...[options]常见选项--check-C只检测可能会发生的改变,但不真正执行操作--list-hosts列出运行任务的主机--list-tags列出tag--list-tasks列出task--limit主机列表只针对主机列表中的主... 查看详情

ansible基本使用-1(代码片段)

概述ansible 当前主流的批量配置管理工具,相比于saltstack它是无agent模式,基于ssh去远程管理主机。有密码和密钥两种方式远程认证方式。安装yum-yinstall ansible  (前提是有epel源,如果没有需要安装)pipinstallansiblegithub源码... 查看详情

ansible基本使用之3palybook(代码片段)

...本,在以yml文件格式的文件中书写相关命令编写而成,让ansible安装剧本执行特定的操作。执行一些复杂的操作或编排的时候,ansible命令行无法满足此时就用到了playbook。而且这些剧本还可以保存下来重复使用。很多应用示例可... 查看详情

ansible之路——第五章:ansible的几个命令(代码片段)

安装完ansible后,发现ansible一共为我们提供了七个指令:ansible、ansible-doc、ansible-galaxy、ansible-console、ansible-playbook、ansible-pull、ansible-vault。下面简单介绍一下这几个命令的用法。相应命令的详细用法可以通过man来查询。 5.1ans... 查看详情

ansible1:简介与基本安装(代码片段)

[toc]Ansible是一个综合的强大的管理工具,他可以对多台主机安装操作系统,并为这些主机安装不同的应用程序,也可以通知指挥这些主机完成不同的任务.查看多台主机的各种信息的状态等,ansible都可以通过模块的方式来完成。Ansible... 查看详情

26.ansible连接和基本模块(代码片段)

Ansible介绍自动化运维工具,统一配置管理工具。可以通过一个命令完成一系列的操作,进而能减少重复性的工作和维护成本,可以提高工作效率。统一配置管理工具:Ansible 开发语言:Python轻量级,大规模环境下只通过ssh会很... 查看详情

ansible高级用法(代码片段)

Ansibleplaybook的核心元素:tasks:任务variables:变量templates:模板handlers:处理器roles:角色变量:facts--extra-vars"name=valuename=value"role定义Inventory中的变量:主机变量hostnamename=valuename=value组变量[groupname:vars]name=valuename=valueInventory的高级用法... 查看详情

自动化部署之ansibler之yaml与ansible基本元素(代码片段)

YANL介绍YAML:另一种标记语言。是用来写配置文件的语言,非常简洁和强大。YAML语法和其他语言类似,也可以表达散列表、标量等数据结构。结构通过空格来展示;序列里配置项通过-来代表;Map里键值用:来分隔;YAML的扩展名为ya... 查看详情