ansible

ansible的file模块

拥有回忆 提交于 2020-10-01 10:49:10
file模块 file模块可以帮助我们完成一些对文件的基本操作,比如,创建文件或目录、删除文件或目录、修改文件权限等 此处我们介绍一些file模块的常用参数,然后再给出对应示例。 path参数 :必须参数,用于指定要操作的文件或目录,在之前版本的ansible中,使用dest参数或者name参数指定要操作的文件或目录,为了兼容之前的版本,使用dest或name也可以。 state参数 :此参数非常灵活,此参数对应的值需要根据情况设定,比如,当我们需要在远程主机中创建一个目录的时候,我们需要使用path参数指定对应的目录路径,假设,我想要在远程主机上创建/testdir/a/b目录,那么我则需要设置path=/testdir/a/b,但是,我们无法从"/testdir/a/b"这个路径看出b是一个文件还是一个目录,ansible也同样无法单单从一个字符串就知道你要创建文件还是目录,所以,我们需要通过state参数进行说明,当我们想要创建的/testdir/a/b是一个目录时,需要将state的值设置为directory,"directory"为目录之意,当它与path结合,ansible就能知道我们要操作的目标是一个目录,同理,当我们想要操作的/testdir/a/b是一个文件时,则需要将state的值设置为touch,当我们想要创建软链接文件时,需将state设置为link

基于Ansible和Devops的一键测试环境部署实践

十年热恋 提交于 2020-09-30 21:01:52
​转载本文需注明出处:微信公众号EAWorld,违者必究。 随着网络架构的不断升级和业务的复杂化,对产品多环境支持的要求越来越高。产品支持的数据库、应用服务器、中间件、操作系统等的多样化,使测试环境的组合越来越多,导致测试环境的部署难度不断增加。 如何选择一个合适的工具,实现多样化环境部署的同时保证部署操作的易用性。下面分享一下我们基于Ansible和Devops实现的一键式测试环境部署的过程。 Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(Saltstack、puppet、chef等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作,具有丰富的内置模块,同时也支持自定义模块开发 1。以下是对Ansible和其他常见运维工具的对比2 : 而ansible在自动化运维过程时具有如下优势: 1.基于模块运行,有丰富的内置模块支持 2. 基于Python开发,方便二次开发 3. 基于SSH 交互,被管机器不要安装 Agent 4. 无Server,在任何安装ansible的机器上执行命令即可 5. 脚本用YAML编写,易读和易维护 正因为ansible操作简单、易上手,功能丰富,已被很多公司纳入使用。 Ansible主要有ad-hoc和playbook两种执行方式,Ansible Ad-hoc是一次性命令

ansible简单安装及拉取文件

不想你离开。 提交于 2020-09-30 19:42:23
yum源: [root@jack7-1 yum.repos.d]# cat ali* [aliBase] name=aliBase baseurl= https://mirrors.aliyun.com/centos/$releasever/os/$basearch/ enabled=1 gpgcheck=1 gpgkey= https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever [aliEpel] name=aliEpel baseurl= https://mirrors.aliyun.com/epel/$releasever\Server/$basearch/ enabled=1 gpgcheck=0 直接yum安装:yum install -y ansible 配置额客户端的连接信息: [root@jack7-1 yum.repos.d]# tail -6 /etc/ansible/hosts all: hosts: 192.168.179.137: #主机IP jack6-2: #主机别名 ansible_host: 192.168.179.137 #别名对应的主机 ansible_ssh_port: 22 #ssh通讯的端口 这边做了双机互信:

ansible安装与基本使用

我怕爱的太早我们不能终老 提交于 2020-09-30 16:04:21
服务端安装ansible [root@k8s-mater]yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm [root@k8s-mater]yum install ansible -y [root@k8s-master ansible]# ansible --help Usage: ansible <host-pattern> [options] Options: -a MODULE_ARGS, --args=MODULE_ARGS module arguments -k, --ask-pass ask for SSH password --ask-su-pass ask for su password -K, --ask-sudo-pass ask for sudo password --ask-vault-pass ask for vault password -B SECONDS, --background=SECONDS run asynchronously, failing after X seconds (default=N/A) -C, --check don't make any changes; instead, try to predict

ansible模块set_fact

随声附和 提交于 2020-09-29 13:02:58
set_fact 定义变量可以在同一主机组中play相互引用,但是vars定义的变量,只能在单独的play使用 示例: [root@jack7-1 work]# cat set_fact.yml hosts: PA remote_user: root vars: ================>如果在下个play中引用会报错 var2: "I a test var for vars" tasks: set_fact: ================>可以在同组中多个play引用 var1: "I a test var for set_fact" debug: msg: "{{var1}}++++{{var2}}" name: shell return shell: "hostname" register: shell ================>注册shell输出结果为变量 set_fact: var3: "{{shell.end}}" ==========>引用shell的输出结果的end赋值给变量 debug: msg: "{{var3}}" hosts: PA remote_user: root tasks: debug: msg: "{{var1}}-----{{var3}}" =======>可以在这个play中调用set_fact定义的变量 来源:

ansible模块setup/debug

こ雲淡風輕ζ 提交于 2020-09-29 11:48:10
setup 输出gathering facts信息 filter 指定过滤的信息名称,支持正则匹配 fact_path 指定fact后缀文件的路径 示例: ansible jack -m setup -a 'filter="ansible_memory_mb"' ansible jack -m setup -a 'filter=" mb "' ansible jack -m setup -a 'fact_path=/data/test.fact' debug 输出调试信息 msg 自定义的信息或者ansible的系统变量 var 自定义的变量 示例: [root@jack7-1 work]# cat debug.yml hosts: PC remote_user: root tasks: name: debug demo debug: msg: "remote host memory :{{ansible_memory_mb}}" 来源: oschina 链接: https://my.oschina.net/u/4328465/blog/4550059