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配置加密
                                                                                      • 1 简介
                                                                                        • 2 Ansible-vault常用操作
                                                                                          • 3 Ansible-vault配置示例
                                                                                        • 6 Ansible使用优化
                                                                                          • 7 常见问题
                                                                                            • 8 综合项目

                                                                                              • 使用 ansible 快速安装 k8s 机器

                                                                                            5.5 使用vault配置加密

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

                                                                                            此页内容
                                                                                            • 1 简介
                                                                                            • 2 Ansible-vault常用操作
                                                                                            • 3 Ansible-vault配置示例

                                                                                            # 5.5 使用vault配置加密

                                                                                            # 1 简介

                                                                                            在使用ansible的过程中,不可避免的会存储一些敏感信息,比如在变量文件中存储帐号密码信息等。

                                                                                            ansible通过ansible-vault命令行工具来提供对敏感文件的加密和解密。

                                                                                            ansible-vault可以创建、加密、解密和查看文件。其可以加密任何ansible使用的文件,包括inventory文件,playbook中调用的变量文件等。

                                                                                            # 2 Ansible-vault常用操作

                                                                                            1. 创建加密文件
                                                                                            ansible-vault create file
                                                                                            
                                                                                            1
                                                                                            1. 编辑加密文件
                                                                                            ansible-vault edit file
                                                                                            
                                                                                            1
                                                                                            1. 重置密码
                                                                                            ansible-vault rekey file
                                                                                            
                                                                                            1
                                                                                            1. 加密已有文件
                                                                                            ansible-vault encrypt file
                                                                                            
                                                                                            1
                                                                                            1. 解密文件
                                                                                            ansible-vault decrypt file
                                                                                            
                                                                                            1
                                                                                            1. 查看文件
                                                                                            ansible-vault view file
                                                                                            
                                                                                            1

                                                                                            # 3 Ansible-vault配置示例

                                                                                            1. 创建一个user.yml的变量文件,内容如下:
                                                                                            username: "user1"
                                                                                            pwhash: "$1$GkTPu7we$ZZtdsLPIHkS.fmoVcn3v51"
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            1. 加密上面创建的变量文件:
                                                                                            # ansible-vault encrypt user.yml 
                                                                                            New Vault password: 
                                                                                            Confirm New Vault password: 
                                                                                            Encryption successful
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            1. 编写playbook文件如下:
                                                                                            - name: create user accounts for all our servers
                                                                                              hosts: test
                                                                                              become: True
                                                                                              remote_user: ansible
                                                                                              vars_files:
                                                                                                - user.yml
                                                                                              tasks:
                                                                                                - name: Creating user from user.yml
                                                                                                  user:
                                                                                                    name: "{{ username }}"
                                                                                                    password: "{{ pwhash }}"
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            5
                                                                                            6
                                                                                            7
                                                                                            8
                                                                                            9
                                                                                            10
                                                                                            11
                                                                                            1. 执行playbook
                                                                                            # ansible-playbook create_user.yml --ask-vault-pass
                                                                                            Vault password: 
                                                                                            
                                                                                            1
                                                                                            2

                                                                                            也可以通过如下操作执行playbook:

                                                                                            echo redhat > vault-pass
                                                                                            chmod 600 vault-pass
                                                                                            
                                                                                            ansible-playbook create_user.yml --vault-password-file=vault-pass
                                                                                            
                                                                                            1
                                                                                            2
                                                                                            3
                                                                                            4
                                                                                            edit icon编辑此页open in new window
                                                                                            上次编辑于: 2022/4/27 15:33:00
                                                                                            贡献者: clay-wangzhi
                                                                                            上一页
                                                                                            5.4 使用lookup生成变量
                                                                                            备案号:冀ICP备2021007336号
                                                                                            Copyright © 2023 Clay