ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ansible变量

2022-06-29 20:36:09  阅读:143  来源: 互联网

标签:group 变量 vars Ansible user id name


Ansible变量

变量的概述

避免重复的代码,方便维护,减少维护的成本

ansible变量定义

1.通过命令行进行变量定义
2.在play文件中进行变量定义
	- vars
	- vars_files
3.通过inventory主机信息文件中进行变量
	- host文件
	- host_vars目录
	- group_vars目录

优先级

命令行>play>inventory

命令行>vars_files(play)>vars(play)>host_vars(inventory)>group_vars(inventory)>hosts文件(inventory)

定义ansible变量位置

在play中定义变量

vars变量

# 在play中用vars定义变量
- hosts: webs
  vars:
    user_group: zh
    id: '888'
    pkg: 
      - nginx
      - php
      - mariadb-server
  tasks:
    - name: 创建{{ user_group }}组
      group:
        name: "{{ user_group }}"
        gid: "{{ id }}"

    - name: 创建{{ user_group }}用户
      user:
        name: "{{ user_group }}"
        uid: "{{ id }}"
        group: "{{ id }}"
        shell: /sbin/nologin
        create_home: False
    - name: 安装nginx php mysql
      yum:
        name: "{{ pkg }}"
        state: present

vars_files变量

- hosts: webs
  vars_files: ./zh_var.yml
  tasks:
    - name: 创建{{ user_group }}组
      group:
        name: "{{ user_group }}"
        gid: "{{ id }}"

    - name: 创建{{ user_group }}用户
      user:
        name: "{{ user_group }}"
        uid: "{{ id }}"
        group: "{{ id }}"
        shell: /sbin/nologin
        create_home: False
    - name: 安装nginx php mysql
      yum:
        name: "{{ pkg }}"
        state: present

# zh_var.yum
 user_group: zh2
id: '250'
pkg: 
  - nginx
  - php
  - mariadb-server

在inventory中定义变量

在inventory文件中定义变量(几乎不用)

[root@m01 ~]# vim /etc/ansible/hosts 
[webs:vars]
user_group=zh3
id='789'
pkg='nginx,php,mariadb-server'

host_vars

# 和yaml文件同级别下创建目录
[root@m01 ~]# mkdir host_vars
# 针对主机定义变量
[root@m01 ~]# vim host_vars/web01
user_group: web01
id: '444'
pkg: nginx,php,mysql

[root@m01 ~]# vim host_vars/web02
user_group: web01
id: '444'
pkg: nginx,php,mysql

group_vars

# 和yaml文件同级下创建目录
[root@m01 ~]# mkdir group_vars

# 针对主机定义变量
[root@m01 ~]# vim group_vars/webs
user_group: webs
id: '555'
pkg: nginx,php,mysql

标签:group,变量,vars,Ansible,user,id,name
来源: https://www.cnblogs.com/ghjhkj/p/16424807.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有