将字符串进行压缩后保存该如何做?
发表于|更新于
|浏览量:
如何将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
SonarQube应用离线安装插件
SonarQube的插件地址为:https://binaries.sonarsource.com/Distribution/将下载的插件文件存放在SonarQube应用的/opt/sonarqube/extensions/plugins目录下。 参考文章Sonar 离线安装插件
2020-05-20
持续交付发布可靠软件的系统方法(基础篇)第三章:持续集成
《持续交付发布可靠软件的系统方法》读书笔记 持续集成要求每当有人提交代码时,就对整个应用进行构建,并对其执行全面的自动化测试集合,一旦出现问题,开发团队应停下手中的工作,修复问题。持续集成的目标是:让正在研发的软件一直处于可工作的状态。 实施持续集成的先决条件 版本控制,与项目相关的所有内容都必须提交到一个版本控制库中(产品代码、测试代码、数据库脚本、构建与部署脚本、以及所有用于创建安装运行和测试该应用的程序的东西) 自动化构建:必须满足人和计算机都能通过命令行自动执行应用的构建、测试以及部署过程 团队共识:持续集成是一种实践,需要团队所有成员都遵循规则 一个基本持续集成系统 第一次在持续集成工具上执行构建时,可能会缺少一些必须的软件及配置,请将所操作的工作记录下来,并放在自己项目的知识共享库中,应花一些时间将应用程序所依赖的所有软件和配置项提交到版本控制系统中,并将重建全新环境的整个活动变成一个自动化的过程 查看一下是否有构建正在运行,如果有,等它运行完。如果它失败了,则与团队其他人一起将它修复,后再提交自己的代码 一量构建完成且测试全部通过,就从版本控制库中将该版本的代码更...

2025-03-24
使用NSSM将程序注册为Windows服务
NSSM (Non-Sucking Service Manager) 是一个非常实用的Windows服务管理工具,它可以将任何应用程序注册为Windows服务,支持开机自启动、失败自动重启等功能,本文将介绍如何使用NSSM,并以Nginx为例进行实践。 NSSM简介NSSM的主要特点: 可以将任何可执行程序注册为Windows服务 支持服务失败自动重启 支持开机自动启动 可以捕获程序的标准输出和错误输出到日志文件 提供图形界面和命令行两种操作方式 完全免费开源 安装NSSM 下载NSSM访问 NSSM官网 下载最新版本或使用 Chocolatey 包管理器安装: 1choco install nssm 解压下载的zip文件(如果是手动下载)将win64目录下的nssm.exe复制到一个固定目录,比如:C:\Program Files\nssm 添加环境变量(可选)将nssm.exe所在目录添加到系统PATH环境变量中 使用NSSM注册Nginx服务图形界面方式 打开命令提示符,输入: 1nssm install nginx 在弹出的图形界面中配置: Pa...

2020-05-20
项目的通用结构
项目的通用结构,可根据真实情况进行删减 12345678910111213141516171819202122232425- src #代码- data #需要保存的文件,如安装包、镜像等- docs # 说明文档- scripts #相关的脚本文件- hack - build - Dockerfile # 构建镜像 - Vagrantfile #Vagrant配置 - ansible/ # ansible构建部署脚本 - site.yml - hosts - roles/ - group_vars/ - host_vars/ - library/ - kubernetes/ # Openshift平台构建部署脚本 - docker-compose # Docker compose部署 - conf - docker-compose.yaml- Makefile # 不同环境构统一构建入口- Jenkinsfile # Jenkins构建流水线,可调用ansible脚本或Dockerfile脚本- REA...

2020-05-20
Ansible常用模块
lookup 函数在 playbooks 中可以使用一个名为 lookup()的函数,该函数用于 ansible 从外部资源访问数据,根据第一个参数的不同,该函数具有不同的功能,典型的就是读取外部文件内容。lookup()只在本地执行,而不是在远程主机上执行。例子: 123456debug: msg="{{ lookup('file', '/etc/foo.txt') }}"debug: msg="password - {{ lookup('password', '/tmp/random_pass.txt length=10') }}"debug: msg="{{ lookup('env','HOME') }} is an environment variable"debug: msg...

2020-05-23
Vagrant扩展虚拟机盘
扩展虚拟机盘123456789101112131415161718# 停止虚拟机vagrant halt <machine_name># 进入VirtualBox VMs目录,查看并记录原磁盘uuid,留作后用vboxmanage showhdinfo box-disk1.vmdk# 克隆磁盘,vmdk格式无法调整大小,需要转成vdi格式vboxmanage clonehd box-disk1.vmdk new-virtualdisk.vdi --format vdi# 调整克隆磁盘的大小,这里调整为400Gvboxmanage modifyhd new-virtualdisk.vdi --resize 409600# 在克隆磁盘的基础上再克隆vdi格式的磁盘vboxmanage clonehd new-virtualdisk.vdi resized.vmdk --format vmdk# 覆盖原磁盘(如果担心磁盘数据出现不可逆损坏,请先做好备份)mv resized.vmdk box-disk1.vmdk# 此时节已删除中间文件rm new-virtualdisk....
