首页 > 其他分享 >ansible剧本-变量的引用与定义

ansible剧本-变量的引用与定义

时间:2023-04-20 11:02:04浏览次数:43  
标签:变量 ansible hosts playbook 剧本 root yml name

ansible剧本-变量的引用与定义

Cloud研习社 Cloud研习社 2023-04-20 08:43 发表于山东 收录于合集 #一站式教程224个 #ansible26个 #云计算205个 #计算机193个 #linux217个 图片图片

教程每周二、四、六更新

图片

ansible_facts中变量的引用:

[root@m01 ansible]# cat facts_test1_hosts.yml
---
- hosts: com
  tasks:
    - name: generate-etc-hosts
      lineinfile:
        path: /data/hosts
        line: "{{ ansible_ens33.ipv4.address }} {{ ansible_hostname }}"
        create: yes 

# 先验证yml文件的语法没有问题,然后再执行。
[root@m01 ansible]# ansible-playbook facts_test1_hosts.yml --syntax-check
[root@m01 ansible]# ansible-playbook facts_test1_hosts.yml

# 到被管理主机上查看效果:
[root@web01 data]# cat hosts
10.0.0.14 web01
当然用户也可以在/etc/ansible/hosts文件中自定义变量,或者在命令行中赋予自定义变量,我们先看通过命令行定义变量并赋值:

通过命令行定义变量并赋值:

# 定义yml文件,创建卸载任务
[root@m01 ansible]# cat define_vars1.yml
---
- hosts: com
  tasks:
    - name: install packages
      yum:
        name: "{{ pkg_name }}"
        state: absent

# 卸载之前的vsftpd软件
[root@m01 ansible]# ansible-playbook -e pkg_name=vsftpd define_vars1.yml

当然我们也可以创建一个在命令行灵活掌握卸载或安装的yml:

[root@m01 ansible]# cat define_vars2.yml
---
- hosts: com
  tasks:
    - name: install packages
      yum:
        name: "{{ pkg_name }}"
        state: "{{ my_action }}"      # 注意:action是ansible系统保留关键字,不能直接用action

# 通过my_action来指定是安装还是卸载还是更新到最新版本。
[root@m01 ansible]# ansible-playbook -e 'pkg_name=vsftpd my_action=present' define_vars2.yml

注意:-e参数用来指定变量,有多个变量的时候需要用到引号把参数引起来,并且多个参数之间用空格分开。

请自行完成:使用上面的方式,把刚才安装的vsftpd软件卸载。【一定要做噢】

下一节我们在playbook中定义变量。


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

 

ansible剧本(playbook)- 快速入门

ansible剧本-YAML语法

ansible剧本-playbook核心元素

ansible-playbook命令

playbook核心元素之handlers、notify

playbook核心元素之tags

 

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社 为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等 180篇原创内容 公众号

图片


图片

 

收录于合集 #一站式教程  224个 上一篇ansible剧本-变量-常用参数 阅读 34    

标签:变量,ansible,hosts,playbook,剧本,root,yml,name
From: https://www.cnblogs.com/cherishthepresent/p/17335998.html

相关文章

  • 关于shell变量值的截取-通过分隔符-去除前后匹配到的内容
    最近在工作中需要取一个变量的一部分值,举例说明,先看一个变量及值的格式,如Server="1.1.1.1-server01"我们可以通过各种支持切片的命令得到server01这一段,如cut,sed,awk等等命令其实当熟悉shell编程的可以知道,shell内部的变量处理方式也是可以得到的,可以通过echo${Server#*-}的......
  • 如何处理 bash shell 变量中的斜杠(/)?
    #!/bin/bash##Ourpath_r1="/nfs/apache/logs/rawlogs/access.log"##Escapepathforsedusingbashfindandreplace_r1="${_r1//\//\\/}"#replace__DOMAIN_LOG_FILE__inoursample.awstats.confsed-e"s/__DOMAIN_LOG_FILE......
  • 类中自定义函数并调用and使用钩子函数打印类中变量
    在一个类中自定义一个函数A,并在前向传播函数forword中调用这个函数假设您正在编写一个PyTorch模型,您可以按照以下方式在类中定义函数A,并在forward函数中调用它:importtorchimporttorch.nnasnnclassMyModel(nn.Module):def__init__(self):super(MyMod......
  • 关于ansible-对linux主机的连接性及sudo权限检测
    对于Linux系统的配置检测,需要从如下两个点进行检测1、对于登录连接测试,即ssh登录认证2、sudo权限的检测,这里抽查一个命令进行简单的检测创建.yaml文件,内容如下#description:Conectionandsudopermissiontestforlinuxserver#author:QQ:5201351----hosts:"{{hos......
  • ansible-kubeadm在线安装k8s v1.19-v1.20版本
    ansible-kubeadm在线安装k8sv1.19-v1.20版本1.ansible-kubeadm在线安装k8sv1.19-v1.20版本安装要求确保所有节点系统时间一致操作系统要求:CentOS7.x_x64ansible机器与部署k8s集群做免密钥找一台服务器安装Ansible#yuminstallepel-release-y#yuminstallans......
  • Java 类的成员——成员变量
    如何声明成员变量语法格式:[修饰符1]class类名{[修饰符2]数据类型成员变量名[=初始化值];}说明:–          位置要求:必须在类中,方法外–          修饰符2(暂不考虑)常用的权限修饰符有:private、缺省、protected、public其他修饰符:st......
  • Java-Day-12( 类变量 + 类方法 + main 方法 + 代码块 + 单例设计模式 + final 关键字 )
    Java-Day-12类变量定义一个变量count,是一个类变量(静态变量)staticclassPerson{privateStringname;// 该静态变量static最大的特点就是会被Person所有的对象实例共享publicstaticintcount=0;publicPerson(Stringname){this.na......
  • Java环境与Eclipse SDK安装涉及的环境变量调试,java环境配置
    资源包请自己下载。文本太大,我传到百度了。https://pan.baidu.com/s/1p6aFDOeXWULnK8STdQkwmw  这是地址资源地址小白师从高中老班长祯淮大哥,偷师于网页中的他人经验,因此,先说声谢谢他人的经验分享,为了记录学习过程,方便整理知识,做了以下学习分享。有错请大神指出。 这是我装好的......
  • ansible权威指南笔记(四)—— roles的用法
    一、roles简介自1.2版本引入的新特性,用于层次性、结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等,只需要在playbook中使用include指令即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并通过include调用......
  • 配置环境变量
    配置环境变量是指为了让系统或程序识别并访问一些特定的路径、库文件或命令等,而将这些路径、库文件或命令等信息保存在系统环境变量中,以便系统或程序使用。环境变量是一种存储在操作系统中的全局变量,它可以为程序提供一个特定的工作环境和配置信息。在Linux操作系统中,可以通过编......