首页 > 其他分享 >ansible设置环境变量

ansible设置环境变量

时间:2024-08-15 19:04:36浏览次数:5  
标签:https http 1.1 ansible proxy 设置 环境变量 name

通过~/.profile文件设置

env01.yaml

---
  - hosts: ubuntu
    tasks:
    # 设置环境变量
    - name: 设置环境变量
      lineinfile:
          dest: ~/.profile
          regexp: ^export ENV_KEY=
          line: export ENV_KEY=env_value

    - name: 获取环境变量值 #指定bash shell,默认是使用/bin/sh,/bin/sh无法执行source命令
      shell: bash -c 'source ~/.profile && echo $ENV_KEY'
      register: env_key

    - name: 打印环境变量,inventory_hostname 是当前主机在inventory清单文件中的名称,默认情况下会在playbook中显示出来,一般为ip,也可以自定义名称
      debug:
        msg: "this linux os {{ inventory_hostname }} env_key is {{ env_key.stdout }}"
    - name: 打印环境变量 #ansible_env 变量不包含lineinfile模块设置的变量,不知道为什么
      debug:
        msg: "{{ ansible_env }}"

通过playbooke文件硬编码设置

env02.yaml

---
  - hosts: ubuntu
    tasks:
    - name: 设置环境变量
      get_url:
        url: https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl
        dest: /tmp
      environment:
        http_proxy: http://1.1.1.1:80/
        https_proxy: https://1.1.1.1:443/

通过playbooke文件变量设置

env02-1.yaml

---
  - hosts: ubuntu
    vars:
      #为一个下载任务设置http代理
      vars_proxy:
        http_proxy: "http://1.1.1.1:80/"
        https_proxy: "https://1.1.1.1:443/"
    tasks:
     - name: debug环境变量
       debug:
         var: vars_proxy
     - name: 设置环境变量
       get_url:
         url: https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl
         dest: /tmp
       environment: "{{ vars_proxy }}"

通过proxy_state状态控制变量状态

env03.yaml

---
  - hosts: ubuntu
    vars:
      proxy_state: present
    tasks:
      - name: Configure the proxy.
        lineinfile:
          dest: /etc/environment
          regexp: "{{ item.regexp }}"
          line: "{{ item.line }}"
          state: "{{ proxy_state }}"
        with_items:
          - { regexp: "^http_proxy=", line: "http_proxy=http://1.1.1.1:80/" }
          - { regexp: "^https_proxy=", line: "https_proxy=https://1.1.1.1:443/" }
          - { regexp: "^ftp_proxy=", line: "ftp_proxy=http://1.1.1.1:80/" }

在/etc/environment文件里配置的变量,再次登录时,会加载到env变量中,可直接通过echo $http_proxy打印出来

ansible ubuntu -m shell -a 'echo $http_proxy '
107.151.199.209 | CHANGED | rc=0 >>
http://1.1.1.1:80/

标签:https,http,1.1,ansible,proxy,设置,环境变量,name
From: https://www.cnblogs.com/anyux/p/18361631

相关文章

  • 《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(5)-Wireshark捕获设置
    1.简介WireShark的强大之处就在于不用你再做任何配置就可以抓取http或者https的包。今天宏哥主要是讲解和分享如何使用WireShark抓包。2.运行Wireshark安装好Wireshark以后,就可以运行它来捕获数据包了。方法如下:1.在Windows的“开始”菜单中,单击Wireshark菜单,如下图所示......
  • GridViewComboBoxColumn设置DataTypeConverter
    GridView中的GridViewComboBoxColumn列,如果需要使用TypeConverter将非字符串类型的数据源转换为字符串进行展示,可按如下几步进行:例如,数据源为如下枚举类型:publicenumMyColor{Red,Yellow,Green}展示的时候,需要转换为汉字,先定义如下类型,作为GridViewComboBo......
  • Uefi ABL读取XBL设置的标志位
    PBL(启动固化程序)->XBL(扩展引导加载程序,负责初始化芯片驱动和核心应用功能。XBL通常会加载一些平台相关的驱动程序,并提供通用接口)->ABL(应用引导加载程序,负责引导操作系统的启动。)高通启用UEFI架构的bootloader,有些时候有些状态值,需要ABL阶段获取.上层思维总是以属性来开端,实......
  • 基于ansible playbook 自动化巡检生成xlsx报告
    IAAS自动化巡检生成xlsx报告项目结构:├──README.md├──filter_plugins生成json数据├──generate_xlsx.yml生成xlsx文件├──group_vars全局变量├──library数据处理及生成xlsx模块├──report最终xlsx报告保存├──roles巡检代码├──......
  • Linux网络设置
    目录一、查看网络接口信息、1.ifconfig命令2.hostname查看主机名称  3.route查看路由表条码 4.netstat查看网路连接情况5.ss命令6.lsof命令 二、测试网络1.ping命令,测试网络连通性 2.跟踪数据包3.域名解析 三、设置网络地址参数1.设置网络接口参数......
  • 假设Sigmund Landers在商业街设置了一个提供建议的摊位,顾客可以购买1分钟,2分钟,或3分钟
    /假设SigmundLanders在商业街设置了一个提供建议的摊位,顾客可以购买1分钟,2分钟,或3分钟的建议,为确保交通每个摊位前排队等待的顾客最多10人,用两个队列模拟两个摊位/#include<stdio.h>#include<stdlib.h>#defineMAX_SIZE10typedefstruct{intitems[MAX_SIZE];......
  • 轻松解析高频面试题: 线程设置数量多少合适?带你面试乱杀
    目录一、前言二、线程数和CPU利用率的小测试三、插入io操作四、线程数和CPU利用率总结五、线程数规划的公式 六、真实程序中的线程数一、前言相信很多小伙伴在刷面试题的时候都看到过一个线程数设置的理论:CPU密集型的程序-核心数+1I/O密集型的程序-核心数......
  • Java 代码本地设置Hadoop用户名密码
    在Hadoop环境中,通常使用Kerberos进行身份验证。但在一些开发或测试环境中,我们可能需要在本地代码中设置用户名和密码来模拟或进行简单的测试。虽然这不是一个安全的做法,因为它违背了Kerberos的使用原则,但在某些场景下(如单元测试或本地开发)可能是必要的。方法一:使用Hadoop的API来......
  • 如何在Maya用户界面中设置Arnold摄像机?
    Arnold是随Maya一起提供的、高质量的渲染引擎。Arnold是一款为满足长篇动画和视觉效果电影的需求而构建的高级蒙特卡洛光线追踪渲染器。 那么怎么在Maya用户界面中设置Arnold摄像机呢?要更改Arnold摄像机设置,您需要使用Maya的AttributeEditor中的Arnold标签页(确保您滚动到标......
  • Anrdoir 13 关于设置静态IP后,突然断电,在上电开机卡动画
    bug描述:设置静态IP成功后,机器突然断电,然后在上电开机,发现机器一直卡在开机动画,无法成功进入桌面第一时间抓取日志分析,Log如下:08-1311:26:42.45528032803IEthernetServiceImpl:StartingEthernetservice08-1311:26:42.45728032924DConnectivityService:......