ansible
文章平均质量分 54
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。
ghostwritten
关注领域:go python k8s docker 数据库 运维
打造一个专属个人更精准的问题解决搜索引擎。
展开
-
ansible 快速学习手册
ansible介绍ansible安装ansible互信ansible配置yaml详解ansible-playbook详解setup模块原创 2020-02-16 17:49:03 · 481 阅读 · 1 评论 -
Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】
【代码】Container ansible disguises local ansible 【容器 ansible 伪装本地 ansible】原创 2024-01-09 16:59:43 · 698 阅读 · 0 评论 -
How to install ansible in rhel 8.7【红帽8.7 安装 ansible】
注意:当遇到以下安装失败的问题。原创 2023-11-14 20:57:38 · 374 阅读 · 0 评论 -
ansible-playbook task 指定位置执行
7.如果存在post_tasks,则检查post_tasks下面的tasks是否存在触发handlers,如存在则顺序执行。2.如果存在pre_tasks定义,则检查是否存在触发handler,如存在则顺序执行相关触发handlers。1.检查play中是否存在pre_tasks定义,存在的话则顺序执行pre_tasks中定义的所有tasks。6.检查是否存在post_tasks定义,存在则顺序执行post_tasks中定义的所有tasks。4.检查是否存在task, 如存在则顺序执行所有定义的task。原创 2023-04-12 00:13:17 · 952 阅读 · 0 评论 -
ansbile 模块开发-自定义模块
https://www.cnblogs.com/biglittleant/p/12857484.html原创 2022-02-16 14:55:24 · 210 阅读 · 0 评论 -
ansible-playbook实战
https://www.kancloud.cn/willseecloud/ansible/1472273cat yum.yaml ---- name: yum gather_facts: false hosts: all tasks: - name: copy yum files copy: src: '{{ item.src }}' dest: '/etc/yum.repos.d/' with_items:原创 2021-12-17 21:59:36 · 344 阅读 · 0 评论 -
ansible【模块】linefile 文件行处理
文章目录1. 简介2. 示例2.1 文件内容修改2.2 在某一行前面插入一行2.3 在某一行后面插入一行2.4 删除某一行2.5 末尾加入一行2.6 替换或添加某一行–ansible 快速学习手册1. 简介lineinfile:文件内容修改、在某行前面添加一行、在某行后面添加一行、删除某一行、末尾加入一行、替换或添加某一行2. 示例2.1 文件内容修改其中regexp为要修改的源内容的正则匹配,line为修改后的内容bbb修改为bbbbbbansible all -m lineinf原创 2021-12-15 16:38:49 · 1323 阅读 · 0 评论 -
ansbile【模块】replace 替换
文章目录1. 简介2. 参数3. 示例3.1 将/etc/hosts文件中的old.host.name修改为new.host.name:3.2 注释 Apache 配置文件/etc/apache2/sites-available/default.conf中NameVirtualHost [*]行之后的所有内容:3.3 注释 Apache 配置文件/etc/apache2/sites-available/default.conf中# live site config行之前的所有内容:3.4 注释 Apache原创 2021-12-15 16:31:16 · 1653 阅读 · 0 评论 -
ansible【模块】systemd
文章目录1. 简介2. 选项3. 示例1. 简介用于管理服务2. 选项该模块包含如下选项:arguments:给命令行提供一些选项enabled:是否开机启动 yes|noname:必选项,服务名称pattern:定义一个模式,如果通过status指令来查看服务的状态时,没有响应,就会通过ps指令在进程中根据该模式进行查找,如果匹配到,则认为该服务依然在运行runlevel:运行级别sleep:如果执行了restarted,在则stop和start之间沉睡几秒钟state:对当前服务原创 2021-12-15 15:48:53 · 2512 阅读 · 0 评论 -
ansible 配置
文章目录1. 环境配置2. ansible.cfg配置2.1 [defaults]2.2 [privilege_escalation]2.3 [paramiko_connection]2.4 [ssh_connection]2.5 [accelerate]2.6 [selinux]2.7 [colors]3. 互信配置3.1 生成密钥对3.2 建立互信3.3 批量建立互信3.3.1 第一种方法: playbook3.3.2 第二种方法:shell&expect脚本4. inventory配置4.1原创 2021-02-20 16:26:35 · 629 阅读 · 0 评论 -
ansible 安装
文章目录1. 配置yum2. 安装3. 帮助官方安装以下centos或redhat安装1. 配置yum$ cat <<eof>>/etc/yum.repos.d/my.repo[epel]name=epelbaseurl=http://mirrors.aliyun.com/epel/7Server/x86_64/enable=1gpgcheck=0eof2. 安装$ yum -y install ansible3. 帮助$ ansible-doc -原创 2021-02-20 14:54:02 · 692 阅读 · 0 评论 -
ansible jinja2详解
文章目录1. 简介2. 语法3. {{ }}方法3.1 输出变量3.2 比较表达式3.3 逻辑运算3.4 算数运算3.5 成员运算3.6 数据类型显示3.7 过滤器upper运用3.8 过滤器lookup运用3.9 tests属性判断4. {# #}方法5. {% %}方法5.1 if....endif语法5.2 if…else…endif方法5.3 三元运算5.4 set设置变量5.5 for循环5.5.1 for循环列表5.5.2 for循环字典5.5.3 for循环输出次数5.转载 2021-02-19 15:48:37 · 3186 阅读 · 0 评论 -
ansible【模块】modprobe
文章目录1. 简介2. 参数3. 示例1. 简介加载或卸载内核模块2. 参数name 要管理的内核模块的名称。params 模块参数state 模块是否应该存在或不存在。3. 示例 name: Add the 802.1q module modprobe: name: 8021q state: present- name: Add the dummy module modprobe: name: dummy state: presen原创 2021-02-18 11:37:43 · 756 阅读 · 0 评论 -
ansible 【模块】sysctl
文章目录参数示例参数name:变量名value:值reload:文件被更新时,是否使用 sysctl -p reload 文件state:是在文件中 移除(absent)或者设置(present)sysctl_file:如果不是默认文件,指定其他文件sysctl_set:使用sysctl 命令设置,不一定需要reload 文件ignoreerrors: 默认值:no 类型:bool,使用此选项将忽略一些不知道的错误 key,即所设置的 name 参数示例EXAMPLES:# Set原创 2021-02-18 11:17:54 · 1048 阅读 · 1 评论 -
anible 【模块】 notify
文章目录1. 简介2. 示例1. 简介Ansible会监控changed的状态,如果 changed=1,则表示关注的状态发生了改变,即本次任务的执行不具备幂等性,如果 changed=0,则表示本次任务要么没执行,要么执行了也没有影响,即本次任务具备幂等性。Ansible提供了notify指令和handlers功能。如果在某个task中定义了notify指令,当Ansible在监控到该任务 changed=1时,会触发该notify指令所定义的handler,然后去执行handler。所谓hand转载 2021-02-17 18:07:49 · 979 阅读 · 0 评论 -
ansible【模块】blockinfile
文章目录1. 简介2. 常用参数3. 示例3.1 修改 SSHD 配置文件禁止ansible-agent用户使用密码登录:3.2 在 Debian/Ubuntu 网络配置文件/etc/network/interfaces中添加网卡 eth0 的配置信息:3.3 备份/etc/ssh/ssh_config文件,并在文件末尾插入./local/ssh_config文件的内容,最后使用/usr/sbin/sshd -T -f /etc/ssh/ssh_config命令校验:3.4 在 HTML 文件/var/..原创 2021-02-17 17:55:25 · 940 阅读 · 1 评论 -
ansible【模块】template
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_module.htmlhttps://www.w3cschool.cn/automate_with_ansible/automate_with_ansible-6qws27pb.html原创 2021-02-08 20:15:53 · 838 阅读 · 0 评论 -
ansible【模块】include_tasks
文章目录1. 介绍2. 参数3. 示例1. 介绍include_tasks包括一个文件,其中包含要在当前剧本中执行的任务列表2. 参数apply接受任务的关键字的哈希值(例如tags,become),将被应用到内的任务包括。file导入文件的名称是直接指定的,没有任何其他选项。与import_tasks不同,大多数关键字(包括loop,with_items和conditional)都适用于此语句。include_tasks不支持do until循环。free-form通过- inclu原创 2021-02-08 20:08:59 · 2205 阅读 · 0 评论 -
ansible 【模块】find
1. 介绍find 模块可以帮助我们在被管理主机中查找符合条件的文件,就像 find 命令一样。2. 参数paths :必须参数,指定在哪个目录中查找文件,可以指定多个路径,路径间用逗号隔开,此参数有别名,使用别名 path 或者别名 name 可以代替 paths。recurse : 默认情况下,只会在指定的目录中查找文件,也就是说,如果目录中还包含目录,ansible并不会递归的进入子目录查找对应文件,如果想要递归的查找文件,需要使用 recurse 参数,当 recurse 参数设置为 ye原创 2021-02-08 19:55:25 · 489 阅读 · 0 评论 -
ansible set_fact模块
文章目录1. 介绍2. 示例2.1 定义并输出变量2.2 返回值设置变量2.3 跨play调用变量–1. 介绍set_fact模块在tasks中定义变量2. 示例2.1 定义并输出变量set_fact.yaml---- hosts: localhost remote_user: root tasks: - set_fact: test: "123456" - debug: msg: "{{test}}"执行输出:ansible-playbook原创 2021-02-08 17:18:00 · 3882 阅读 · 0 评论 -
ansible debug模块
参数msg 打印的自定义消息var 要调试的变量名。与msg选项互斥。verbosity 一个控制调试运行时间的数字,如果设置为3,则仅在-vvv或更高版本时运行调试示例:--- - name: talk to all hosts just so we can learn about them hosts: all vars: password_used: '123456' tasks: - name: Print the gateway for原创 2021-02-08 11:00:01 · 3049 阅读 · 0 评论 -
ansible-playbook role角色
介绍Roles是ansible自1.2版本引入的新特性,用于层次性,结构化地组织playbook,roles能够根据层次型结构自动自动装在变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中并可以便捷地include他们的一种机制,角色一般用于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。创建roles步骤创建以roles命名的目录:在ro原创 2021-02-05 20:19:08 · 1724 阅读 · 0 评论 -
ansible【模块】pause
pause在playbook执行的过程中暂停一定时间或者提示用户进行某些操作常用参数:minutes:暂停多少分钟seconds:暂停多少秒prompt:打印一串信息提示用户操作示例: - name: wait on user input pause: prompt="Warning! Detected slight issue. ENTER to continue CTRL-C a to quit" - name: timed wait pause: seconds=30原创 2021-02-05 20:05:01 · 904 阅读 · 0 评论 -
ansible【模块】add_host
add_host在playbook执行的过程中,动态的添加主机到指定的主机组中常用参数:groups:添加主机至指定的组name:要添加的主机名或IP地址示例:- name: add a host to group webservers hosts: webservers tasks: - add_host name={{ ip_from_ec2 }} group=webservers foo=42 #添加主机到webservers组中,主机的变量foo的值为42原创 2021-02-05 19:59:37 · 1388 阅读 · 0 评论 -
ansible【模块】yum
yumconfig_file:yum的配置文件disable_gpg_check:关闭gpg_checkdisablerepo:不启用某个源enablerepo:启用某个源name:要进行操作的软件包的名字,也可以传递一个url或者一个本地的rpm包的路径state:状态(present,absent,latest)删除软件包ansible t1 -m yum -a 'name="lrzsz" state=absent'删除多个软件包ansible t1 -m yum -a 'na原创 2021-02-05 19:57:52 · 301 阅读 · 0 评论 -
ansible delegate_to 模块
文章目录1. 场景介绍2. 委托(delegate)3. 委托者的facts4. run_once1. 场景介绍在对一组服务器 server_group1 执行操作过程中,需要在另外一台机器 A 上执行一个操作,比如在 A 服务器上添加一条 hosts 记录,这些操作必须要在一个 playbook 联动完成。也就是是说 A 服务器这个操作与 server_group1 组上的服务器有依赖关系。Ansible 默认只会在定义好的一组服务器上执行相同的操作,这个特性对于执行批处理是非常有用的。但如果在这过原创 2021-02-05 19:49:00 · 7148 阅读 · 0 评论 -
ansible assert 模块
assert 模块可以很容易验证各种真理tasks: - shell: /usr/bin/some-command --parameter value register: cmd_result - assert: that: - "'not ready' not in cmd_result.stderr" - "'gizmo enabled' in cmd_result.stdout"如果你觉得需要测试通过 Ansible 设原创 2021-02-05 19:11:01 · 2192 阅读 · 0 评论 -
ansible URI模块
tasks: - action: uri url=http://www.example.com return_content=yes register: webpage - fail: msg='service is not happy' when: "'AWESOME' not in webpage.content"原创 2021-02-05 18:59:15 · 2236 阅读 · 0 评论 -
ansible【任务】安装httpd
httpd.yaml- hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: pkg=httpd state=latest - name: write the apache config file template: src=/srv/httpd.原创 2021-02-05 16:45:00 · 353 阅读 · 1 评论 -
ansible 系统选择性执行脚本
when: ansible_os_family == "CentOS"when: ansible_os_family == "Redhat"when: ansible_os_family == "Darwin"when: ansible_os_family == "Debian"when: ansible_os_family == "Windows"这里的任意任务,不需要,但重点是您可以在main.yml中直接拥有任何通用任务- name: get the date shell: `dat原创 2021-02-05 16:39:07 · 599 阅读 · 0 评论 -
ansible become配置
文章目录1. 简介2. become的使用2.1 become2.2 become_user2.3 become_method2.4 become_flags3. become变量在hosts使用3.1 ansible_become3.2 ansible_become_method3.3 ansible_become_user3.4 ansible_become_pass1. 简介Ansible允许你成为另一个用户,与登录到本机的用户或远程用户不同。这是使用现有的特权升级工具(privilege es转载 2021-02-05 15:35:00 · 2778 阅读 · 0 评论 -
ansible gather_facts配置
文章目录1. 过滤指定的fact2. 自定义fact2.1 json 文件方式2.2 redis 方式2.3 memcache 方式1. 过滤指定的factansible localhost -m setup -a 'filter=ansible_eth*’2. 自定义fact对 facts 设置优化ansible playbook 默认第一个 task 是 Gathering Facts 收集各主机的 facts 信息,以方便我们在 paybook 中直接引用 facts 里的信息。如果不转载 2021-02-05 15:16:11 · 9658 阅读 · 0 评论 -
ansible hosts and groups配置
hosts配置格式注意: 您可以使用逗号(,)或冒号(:)分隔主机列表。处理范围和IPv6地址时,首选逗号。#定位到“ webservers”和“ dbservers”组中也属于“ staging”组的所有计算机,但“ phoenix”组中的所有计算机除外。webservers:dbservers:&staging:!phoenix您可以将通配符模式与FQDN或IP地址一起使用,只要主机在清单中按FQDN或IP地址命名即可:192.0.\*\*.example.com\*.co原创 2021-02-05 11:30:59 · 1962 阅读 · 0 评论 -
ansible file模块详解
file模块专门用来设定文件属性;force:需要在两种情况下强制创建软链接,一种是源文件不存在,但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|nogroup:定义文件/目录的属组mode:定义文件/目录的权限owner:定义文件/目录的属主path:必选项,定义文件/目录的路径recurse:递归的设置文件的属性,只对目...原创 2020-05-06 15:20:33 · 3098 阅读 · 0 评论 -
ansible变量
变量优先级由小到大排列(优先级大的变量可以覆盖优先级大的变量):command line values (eg “-u user”)role defaults [1]inventory file or script group vars [2]inventory group_vars/all [3]playbook group_vars/all [3]inventory group_v...原创 2020-02-17 00:30:30 · 367 阅读 · 0 评论 -
ansible远程容器机种方法
---- hosts: [my-cluster-of-servers] tasks: - name: Go Into Docker Container And Run Multiple Commands docker: name: [container-name] image: [image-ive-created-contain...原创 2020-02-16 18:43:12 · 684 阅读 · 0 评论 -
ansible script模块
1. script介绍script 模块可以帮助我们在远程主机上执行 ansible 管理主机上的脚本,也就是说,脚本一直存在于 ansible 管理主机本地,不需要手动拷贝到远程主机后再执行。2. 常用参数free_form参数 :必须参数,指定需要执行的脚本,脚本位于 ansible 管理主机本地,并没有具体的一个参数名叫 free_form。chdir参数 : 此参数的作用就是指定一...原创 2020-02-16 18:29:01 · 1778 阅读 · 0 评论 -
ansible cron 模块
1. 模块方法$ ansible-doc -s cron 1 backup:对远程主机上的原任务计划内容修改之前做备份 2 cron_file:如果指定该选项,则用该文件替换远程主机上的cron.d目录下的用户的任务计划 3 day:日(1-31,*,*/2,……) 4 hour:小时(0-23,*,*/2,……) 5 minute:分钟(0-59,*,*/2,……) ...原创 2020-02-16 18:21:44 · 745 阅读 · 0 评论