Kubernetes 中机密的“ignore_changes”功能

问题描述

我有一个非常简单的秘密定义

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm

我想在我的 git repo 中保留秘密的定义,但显然不应提交真实值,并且此文件只应提供一些默认值。

我有一个工具,可以应用相应目录中的所有 k8s 文件。 这个工具每次都会恢复初始值从而恢复我的手动更改。

我想检查是否有办法忽略密钥的值更改。 例如。在 terraform 中,出于这个确切原因,有“ignore_changes”标志。

完整图片:我正在使用:

  • Rancher - 查看/修改单个资源
  • Argo - 将 k8s 清单文件同步到集群。

解决方法

根据您的 k8s 版本,您可以尝试不可变的秘密:https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable

我无法告诉您尝试覆盖密钥是否会导致错误。

根据这是否是您自己的图像,您还可以使用两种不同的秘密,一种是默认的,一种是手动创建的。两者都安装到 pod 中,但手册优先。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...