Skip to content
SRE运维进阶之路SRE运维进阶之路
github icon
  • Jenkins

    • Jenkins 学习笔记
      • 1 Jenkins 简介

        • 1.1 DevOps、CI、CD都是什么鬼?
          • 1.2 Jenkins简介
          • 2 安装 Jenkins

            • 2.1 yum 安装 jenkins
              • 2.2 war 包安装 jenkins
                • 2.3 使用 ansible 安装 jenkins
                  • 2.4 使用docker安装jenkins
                  • 3 使用 Jenkins

                    • 3.1 Jenkins用户权限管理
                      • 3.2 访问 API
                      • 4 流水线核心语法

                        • 4.1 开始编写Jenkinsfile
                          • 4.2 Jenkins流水线语法
                            • 4.3 Groovy 简明教程
                              • 4.4 Jenkins共享库应用
                                • 4.5 共享库之钉钉消息推送
                                  • 4.6 流水线开发工具
                                    • 4.7 pipeline 生产配置实例
                                      • 4.8 在 VS Code 中校验 Jenkinsfile
                                      • 5 流水线集成篇

                                        • 5.1 构建发布工具集成
                                          • 5.2 用户认证系统集成
                                          • 6 管理 jenkins

                                            • 6.1 Jenkins 关闭和重启的实现方式
                                            • 7 日常维护

                                              • 7.1 Jenkins Job迁移
                                              • 8 Jenkins 常见问题
                                              • Ansible

                                                • Ansible 学习笔记
                                                  • 1 初识Ansible
                                                    • 2 Ansible Inventory配置详解
                                                      • 3 Ansible Ad-hoc命令集

                                                        • 3.1 Ansible Ad-hoc 常用命令集
                                                          • 3.2 Ansible lineinfile模块详解
                                                          • 4 Ansible Playbook

                                                            • 4.1 Playbook的结构及handler用法
                                                              • 4.2 Playbook循环语句
                                                                • 4.3 Playbook条件语句
                                                                  • 4.4 Playbook高级用法
                                                                    • 4.5 Playbook之tags
                                                                      • 4.6 巧用Roles
                                                                        • 4.7 Jinja2 模板
                                                                          • 4.8 yaml语法
                                                                          • 5 Ansible变量

                                                                            • 5.1 自定义变量
                                                                              • 5.2 Fact变量
                                                                                • 5.3 魔法变量
                                                                                  • 5.4 使用lookup生成变量
                                                                                    • 5.5 使用vault配置加密
                                                                                    • 6 Ansible使用优化
                                                                                      • 7 常见问题
                                                                                        • 8 综合项目

                                                                                          • 使用 ansible 快速安装 k8s 机器

                                                                                        5 Ansible变量

                                                                                        author iconClaycalendar icon2020年3月20日category icon
                                                                                        • 自动化工具
                                                                                        tag icon
                                                                                        • Ansible
                                                                                        timer icon大约 1 分钟

                                                                                        此页内容
                                                                                        • 变量优先级
                                                                                        • 变量作用域

                                                                                        # 5 Ansible变量

                                                                                        # 变量优先级

                                                                                        这些变量定义的方法,它们的优先级如下:

                                                                                        1. 在命令行中定义的变量(即用-e或--extra-vars定义的变量);
                                                                                        2. 在Inventory中定义的连接变量(比如:ansible_ssh_user);
                                                                                        3. 大多数的其他变量(命令行转换、play中的变量、included的变量、role中的变量等);
                                                                                        4. 在Inventory中定义的其他变量;
                                                                                        5. Facts变量;
                                                                                        6. “Role”默认变量,这个是默认的值,很容易丧失优先权。

                                                                                        # 变量作用域

                                                                                        Ansible中变量主要有五种作用域概念:

                                                                                        (1).全局作用域:Ansible配置文件、环境变量、命令行选项-e,--extra-vars设置的变量都是全局变量

                                                                                        (2).Play作用域:整个Play中都有效的变量,vars_files、vars_prompt、play级别的vars以及Role的变量,它们都是play级别的变量

                                                                                        (3).主机变量:绑定在各主机上的变量,各种方式定义的inventory变量、Facts信息变量(这个就划分在这吧)、set_fact、register、include_vars都是主机变量

                                                                                        (4).任务变量:只在当前任务中生效的变量,task级别的vars定义的变量属于任务变量

                                                                                        (5).block变量:只在当前block内生效,block级别的vars定义的变量属于block变量

                                                                                        最后还有预定义特殊变量未分类,这些变量由Ansible自身内部维护,有些是全局变量,有些是play变量,有些是主机变量,所以不方便对它们分类。

                                                                                        edit icon编辑此页open in new window
                                                                                        上次编辑于: 2022/4/27 15:33:00
                                                                                        贡献者: clay-wangzhi
                                                                                        上一页
                                                                                        4 Ansible Playbook
                                                                                        下一页
                                                                                        6 Ansible使用优化
                                                                                        备案号:冀ICP备2021007336号
                                                                                        Copyright © 2023 Clay