将字符串进行压缩后保存该如何做?
发表于|更新于
|浏览量:
如何将zip文件挂载到容器Pod中呢?
Prometheus operator中看到的一个特殊玩法。它将prometheus.yml进行压缩成.gz后再保存到secret中。可参考它来实现对数据的压缩与加密。
具体的操作如下:
1 | $ echo "abc" | gzip | base64 |
解密操作:
1 | $ echo "H4sIAAAAAAAAA0tMSuYCAE6BiEcEAAAA" | base64 -d | gunzip |
大家可以尝试下。另外需要注意的是,将该数据挂载到POD的文件中,文件是压缩后的gz文件。
文章作者: Michael Pan
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Michael Blog!
相关推荐

2020-05-20
SOPS对配置文件数据进行加密
SOPS 是由Mozilla 开发的一款开源的文本编辑工具,它支持对YAML, JSON, ENV, INI 和BINARY 文本格式的文件进行编辑,并利用AWS KMS, GCP KMS, Azure Key Vault 或PGP 等加密方式对编辑的文件进行加密和解密。在当前它还可以与heml secret作用,为Kubernetes的secret资源数据进行加密。本篇主要介绍sops的基本用法,而helm secret的使用不做介绍。 ##GPG进行加密 生成GPG文件 1$ gpg --generate-key # 根据引导生成gpg加密文件 或者自动生成 123456789101112131415gpg --batch --generate-key <<EOF%echo Generating a basic OpenPGP key for HELM SecretKey-Type: RSAKey-Length: 4096Subkey-Type: RSASubkey-Length: 4096Name-Real: MichaelName-Comment: Per...

2025-05-14
rclone使用教程
rclone 是一款强大的命令行工具,支持在本地与多种云存储之间进行高效的数据同步和迁移。本文将介绍 rclone 的安装、配置及常用操作方法,帮助你快速上手。 一、安装 rclone1. 公网环境安装(以 Ubuntu 为例)12curl https://downloads.rclone.org/v1.67.0/rclone-v1.67.0-linux-amd64.deb -o rclone-v1.67.0-linux-amd64.debsudo dpkg -i rclone-v1.67.0-linux-amd64.deb 2. Mac 安装1brew install rclone 更多平台和安装方式可参考 rclone 官方下载页面。 二、配置 rclonerclone 的配置文件默认位于 ~/.config/rclone/rclone.conf。你可以手动创建和编辑该文件,或通过 rclone config 命令进行交互式配置。 1. 创建配置目录1mkdir -p ~/.config/rclone 2. 编辑配置文件以下是一个典型的配置示例,支持 swift 和 s...
2020-05-20
持续交付发布可靠软件的系统方法(基础篇)第二章:配置管理
《持续交付发布可靠软件的系统方法》读书笔记 配置管理指一个过程,通过该过程,所有与项目有关的产物,以及它们之间的关系都被唯一定义、修改、存储与检索。 使用版本控制 对所有内容进行版本控制(所需的支撑软件配置信息,操作系统配置信息、DNS区域文件和防火墙配置等) 配置管理是持续集成交付过程的基础。 软件配置管理灵活性:先专注于提供具有高价值且可配置程度低的功能,冒烟测试就是一种缓解配置验证问题的方法配置分类 推荐应使构建打包生成的包,面向所有环境,并不植入配置信息 应用程序的配置管理 将特定于测试环境或生产环境的实际配置信息存放于与源代码分离的单独代码库,需要注意配置信息的版本,一定要与相应的应用软件的版本相切尔西 不要把密码放在版本控制系统中 获取配置信息:文件系统、从某个中心仓库中获取配置信息 配置信息:区分应用、版本、环境,都需要满足以下: 新增一个环境,能为这个配置应用的新环境指定一套新的配置信息 新建应用程序的一个新版本,确保在部署新版本时,使用新的配置,但是一量需要回滚时,还能够使用旧版本的配置 将新版本从一个环境移到另一个环境,确保新环境上的新配置里有效 重定向到...

2022-05-20
Cue-Lang介绍
Cue,是一种开源语言,用于定义,生成和验证各种数据:配置,API,数据库模式,代码……。它能够将数据的结构、约束、数值作为同一层级成员,从而简化配置文件的生成。Cue教程 Cue格式说明 使用//进行单行注释 对象被称为结构体 对象成员称为结构字段 对于没有特殊字符的字段名,可以省略引号 结构字段后面无需, 在列表中的最后一个元素后放置, 最外层的{}可省略 例子: 1234567891011121314151617181920str: "hello world"num: 42flt: 3.14// Special field name (and a comment)"k8s.io/annotation": "secure-me"// lists can have different element typeslist: [ "a", "b", "c", 1, 2, 3,]obj: { foo: "bar" // reuse a...
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第八章:自动化验收测试
《持续交付发布可靠软件的系统方法》读书笔记 验收测试通常是在每一个通过提交测试的软件版本上执行的。 验收测试的目的:对于一个单独的验收测试,它的目的是验证一个用户故事或需求的验收条件是否被满足。如功能验收条件和非功能验收条件。 如果每次提交测试后都在该版本上运行自动化验收测试,会有如下效果: 反馈环大大缩短,能够更快地定位问题 测试、开发人员和客户需要紧密合作才能创建一个良好的自动化测试套件,这会促进他们之间的良好合作 有助于让每个人更关注业务的价值 验收测试与单元测试的区别:验收测试是针对业务的,单元测试是面向开发的。 创建验收测试 分析人员与测试人员和客户紧密合作,定义验收条件 分析人员向开发人员讲解需求,以及它的业务上下文,并检查一遍验收条件 测试人员与开发人员讨论,并就“哪些自动化验收测试来证明验收条件被满足”达成一致 开发人员认为工作完成是指所有单元测试和组件测试通过,验收测试全部实现,并证明系统满足需求。此时可以向分析人员、测试人员和客户进行演示 应用程序驱动层应用程序驱动层是一个知道如何与应用程序打交道的层次。它所用的API是以某种...

2020-05-20
Jenkins-Pipeline语法实例
Jenkins Pipeline支持的指令 指令名 说明 作用域 agent 定义执行任务的代理 stage 或pipeline environment 设置环境变量 stage或pipeline tools 自动下载并安装指定的工具,并将其加入到PATH变量中 stage或pipeline input 暂停pipeline,提示输入内容 stage options 配置Jenkins pipeline本身,如options{retry(3}},指pipeline失败时再重试2次 stage 或 pipeline parallel 并行执行多个step stage parameters 执行pipeline前传入一些参数 pipeline triggers 定义执行pipeline的触发器 pipeline when 定义阶段执行的条件 stage build 触发其他的job steps options Jenkins Pipeline配置参数 参数名 说明 例子 buildDiscarder 保留最近历史构建记录的数...
