草庐IT

linux - 如何让ansible连接到linux跳转服务器后面的windows主机

我想提供子网中只能使用Linux跳转主机访问的Windows主机。Windows机器使用winrm连接方式。Linux跳转服务器可通过SSH访问。如果可以直接访问Windows主机,我没有问题:ansible_connection:winrm如果我尝试通过以下方式将任务委派给Linux跳转服务器(可以直接访问Windows):-name:Pingwindowshosts:windows_machinestasks:-name:pingwin_ping:delegate_to:"{{item}}"with_items:"{{groups['jump_servers'][0]}}"它尝试连

linux - 如何在ansible命令中提及通配符

我正在通过Ansible执行shell命令。有时我没有完整的文件夹名称。假设我有目录名solr4.7.0。在shell中我可以输入cdsolr*。但是在ansible中我做不到:chdir=/var/solr*有什么解决方法吗? 最佳答案 没有。例如,command模块的chdir=参数不支持通配符。您可以使用registervariable完成您想要的事情存储ls命令的输出:-shell:ls-dsolr*register:dir_name-command:some_commandargs:chdir:"{{dir_name.st

linux - Ansible 等部署工具相对于 shell 的优势

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion目前我的所有部署脚本都在shell中,它安装并配置了大约10个程序。我认为shell是一个很棒的工具:模块化:每个脚本只有一个程序,这样我就可以将程序分散到不同的服务器上。简单:Shell脚本非常简单,不需要安装任何其他软件。一键式:我只需运行一次shell脚本,一切就绪。不可知论者:大多数程序员都能理解shell,不需要知道如何使用特定程序。版本控制:因为我的代码在GitHub上一个简单

linux - Ansible:是否可以搜索替换单个单词

在lineinfile模块,它取代整行。如果行很长,我必须再次重复整行。假设我想替换文件中的单个单词:#abc.confThisismyhorse这是剧本:-lineinfile:dest=abc.confstate=presentregexp='horse'line='Thisismydog'backup=yes有什么方法可以实现类似sed's/horse/dog/g'的东西吗? 最佳答案 新模块replace自1.6版本开始可用:-replace:dest=abc.confregexp='horse'replace='dog'b

linux - 由于 v2.11 弃用而更改 ansible 循环

我正在运行一个playbook,它定义了几个要通过apt安装的包:-name:Installutilitypackagescommontoallhostsapt:name:"{{item}}"state:presentautoclean:yeswith_items:-aptitude-jq-curl-git-core-at...我的系统最近的ansible更新现在呈现了关于上面的剧本的这条消息:[DEPRECATIONWARNING]:Invoking"apt"onlyoncewhileusingaloopviasquash_actionsisdeprecated.Insteadofu

mysql - 使用ansible向mysql表中插入数据

应该有一些不错的方法来使用ansible来处理mysql数据库,例如将数据插入表或在mysqldb上运行的任何命令。我知道有一些模块可以创建数据库、管理复制、用户和变量:mysql_db-从远程主机添加或删除MySQL数据库。mysql_replication(E)-管理MySQL复制mysql_user-在MySQL数据库中添加或删除用户。mysql_variables-管理MySQL全局变量我的用例场景是,我在ubuntu上安装了mysql-server并成功创建了数据库,现在我必须将数据插入表中,想知道是否有办法实现它通过ansible。 最佳答案

mysql - Ansible - 如何备份所有 MySQL 数据库?

我需要使用Ansible对我服务器上的所有现有MySQL数据库进行备份。我知道mysql_db模块。它逐个获取我想要操作的数据库的名称,因此我必须在使用该模块之前获取现有数据库的列表。有什么方法可以一次备份所有MySQL数据库或使用Ansible获取现有数据库的列表? 最佳答案 Apatchtoaddsname=allthatallowsausertodumporimportalldata最近合并到devel,1.9.1还没有,但是已经在thispart显示了的文档。#Dumpsalldatabasestohostname.sql-

mysql - 使用 Ansible 任务运行 SELECT 查询

在thisAnsbile的mysql数据库模块列表,其中有一个用于创建数据库或创建用户等。我想对预先存在的表运行查询,并使用该查询的结果来填充Ansible变量(IP地址列表和节点类型),根据节点类型,我将在该变量上运行不同的任务.如何在Ansible中完成? 最佳答案 这是大致的操作方法(但未经测试):-name:Retrievestufffrommysqlcommand:>mysql--user=alice--password=topsecretdbname--host=147.102.160.1--batch--skip-co

memory - 使用 ansible 添加交换内存

我正在做一个项目,我的服务器上需要交换内存,以避免一些python长时间运行的进程耗尽内存,并且第一次意识到我的ubuntuvagrantbox和AWSubuntu实例没有已经设置好了。在https://github.com/ansible/ansible/issues/5241讨论了一个可能的内置解决方案,但从未实现,所以我猜这应该是一个非常常见的自动化任务。您将如何以幂等方式使用ansible设置基于文件的交换内存?ansible为这个设置提供了哪些模块或变量(如ansible_swaptotal_mb变量)? 最佳答案 这是我

slurm集群部署安装+ansible

slurm集群部署安装前期节点准备,三个节点,一个管理节点(也是部署节点),两个计算节点1、最小化安装centos7,注意python环境就用默认的2.7就行2、安装git,只在管理/部署节点安装yum-yinstallgitssh-keygen-trsa-C"起个SSH名字"//密钥放到gitee自动化部署slurm仓库地址:https://gitee.com/wanghuiic/demo-ansible#%E9%83%A8%E7%BD%B23、修改主机名hostnamectl查看主机名hostnamectlset-hostname(跟着自己的主机名)4、SSH互信,注意奥:如果部署节点就是