将字符串进行压缩后保存该如何做?
发表于|更新于
|浏览量:
如何将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!
相关推荐

2024-10-15
Vault常见操作
Hashicorp Vault 是一个基于身份的秘密和加密管理系统,用于严格控制访问各种机密数据,如 API 加密密钥、密码和证书。以下是 Vault 的一些常见使用操作。 Login12$ export VAULT_ADDR='http://your-vault-address:8200'$ export VAULT_TOKEN='your-vault-token' Secret操作 secret引擎KV Pathregion/cluster/project/application Keydevops-api fieldk-name valuek-value 查看权限 1$ vault token lookup 新建kv 12345$ vault secrets enable \ -path=/git-av \ -description "k/v engine for the quickstart guide" \ -version=1 \ kv 查...
2020-05-20
持续交付发布可靠软件的系统方法(交付生态圈)第十二章:数据管理
《持续交付发布可靠软件的系统方法》读书笔记 应用程序可以通过删除前一个版本,使用新版本替换旧版本的方式部署,但是大多数系统,数据无法使用这种方式进行变更,一旦某个系统发布到了生产环境中,关联的数据将不断增加。数据往往是系统中最有价值的部分。当我们需要对数据系统进行结构修改或者内容修改时,就需要相关的策略。对数据的修改是不可避免的,关键在于将数据迁移过程自动化。目前有一些工具对数据迁移提供了较多支持,它们还允许对数据库进行版本化管理。另一个重要部分是测试数据的管理。 数据库脚本化任何数据库的修改都应该通过自动化过程来管理。包括数据库的初始化,数据库所有的迁移都需要脚本化,并将脚本提交到版本控制库中。几乎所有的数据管理系统都支持通过自动化脚本进行数据存储的初始化工作。 清除原有的数据库 创建数据库结构、数据弯路实例以及模式等 向数据库加载数据 在大多数据项目中,数据库的使用要复杂得多。 增量式修改绝大多数据系统,对数据库更新时,要保留它们的数据。由于在部署时需要保留数据库中的已有数据,所以需要有回滚策略,以便部署失败时使用。这就需要对数据库进行版本控制。 在数据库中创建一个数据...

2022-05-20
Windows-WSL2开发环境,一点不逊色于Mac
一直使用Mac来做开发,但没想到现在Windows也这么好用。通过WSL,拥有了Windows酣畅的操作特性,又有了Linux的兼容性。作为开发环境一点不逊色于Mac,甚至更易使用。下面就操练起来吧。 WSL21. 安装控制面板 -> 程序和功能 -> 启用和关闭windows 功能, 勾选如下功能: - 适用于Linux的Windows子系统 - 虚拟机平台 确定。 2. 升级WSLhttps://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package下载 Linux 内核更新包 WSL2 Linux kernel update package for x64 machines,并安装。 设置wsl默认版本为 `2`, PowerShell 1wsl --set-default-version 2 升级已安装的分发,可使用wsl --set-version, PowerShell 1wsl --set...

2023-06-07
Bash中的换行
换行在平常的shell编程中是经常遇到的,但是有时也会忽略掉一些问题。本篇中将会介绍多种方式实现输出换行的方法。 使用 echoecho 自带换行echo 命令输出字符串,在最后后会添加一个换行 123root@Michael:~# echo hello worldhello worldroot@Michael:~# 添加 -n 可以禁用echo最后的换行 12root@Michael:~# echo -n hello worldhello worldroot@Michael:~# 换行符”\n”但是当我们使用bash执行以下命令时,发现它并没有换行 123root@Michael:~# bash -c "echo \"\n\""\nroot@Michael:~# 而是需要加一个 -e 1234root@Michael:~# bash -c "echo -e \"\n\""root@Michael:~# 从echo的说明中可以看到 -e 指的是让转义符生效,其中有: 1234567891011121...
2020-05-20
Openshift上使用Nginx-Pod作灰度发布
参考文章:使用 Nginx 实现灰度发布 什么是灰度发布 **【百度百科】**灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。 除了AB test灰度发布另一种思想是,只发布给一小部分用户,如:App在发布之前,针对性的给一小批用户测试下新版本,用小流量发布的方式来检验新版会不会有问题。 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 Openshift上实现蓝绿部署 在openshift上的部署两个版本的Service:service01, service02。在创建Route的时候,可以非常简单地指定同一个Route流量访问两个service的百分比service01(25%流量), service02(75%流量)。所有请求该Route的流量会被按指定的比例访问后service。 对应的Route yaml配置文...
2020-05-20
持续交付发布可靠软件的系统方法(部署流水线)第六章:构建与部署的脚本化
《持续交付发布可靠软件的系统方法》读书笔记 ##构建工具概览 Make Ant NAnt与MSBuild Maven Rake Buildr Psake 构建部署脚本化的原则与实践 为部署流水线的每个阶段创建脚本 使用恰当的技术部署应用程序 使用同样的脚本向所有环境部署 使用操作系统自带的包管理工具 确保部署流程是幂等的 部署系统的增量式演进 部署脚本化 多层的部署和测试 层 配置 应用/服务/组件 应用配置 中间件 中间件配置 操作系统 操作系统配置 硬件 硬件 测试环境配置 部署前对基础设施做标准冒烟测试,如果发现问题,就让环境配置流程快速失败,并给出测试结果 确认能从数据库中拿到一条记录 确认能连上网站 断言消息代理中的已注册的消息集合是正确的 透过防火墙发送ping,证明线路通畅 推荐策略 总是使用相对路径 消除手工步骤 从二进制包到版本控制库的内建可追溯性二进制包记录版本信息,如Java应用可以在MANIFEST中包含元数据,另外可以将构建流程生成的每个二进制包的MD5值及名字和版本标识符一起放在数据库中 不要把二进制包作为构建的...
