首页
/ External Secrets 0.16.0版本发布:重大变更与升级指南

External Secrets 0.16.0版本发布:重大变更与升级指南

2025-06-11 07:47:00作者:冯爽妲Honey

External Secrets是一个Kubernetes Operator,它帮助用户将外部秘密管理系统(如AWS Secrets Manager、HashiCorp Vault等)中的密钥安全地同步到Kubernetes集群中。最新发布的0.16.0版本带来了多项重要变更,包括API版本的升级和功能改进,同时也包含了一些需要用户特别注意的破坏性变更。

版本核心变更

0.16.0版本最显著的变化是移除了对v1alpha1 API版本的支持,并正式将v1版本提升为稳定版本。这意味着:

  1. 移除了SecretStore/v1alpha1、ExternalSecret/v1alpha1及其集群版本的CRD
  2. 将ExternalSecret/v1和SecretStore/v1及其集群版本提升为稳定版本
  3. 移除了v1模板引擎
  4. 在Fake Secret Store中移除了ValueMaps功能

这些变更使得API更加稳定和一致,但也意味着用户在升级时需要特别注意兼容性问题。

升级前的准备工作

在升级到0.16.0版本之前,用户必须确保:

  1. 整个基础设施中不再使用任何v1alpha1资源
  2. 检查CRD的storedVersions中不包含v1alpha1版本

可以通过以下命令检查是否存在不兼容的资源:

kubectl get crd \
    externalsecrets.external-secrets.io\
    secretstores.external-secrets.io\
    clustersecretstores.external-secrets.io\
    clusterexternalsecrets.external-secrets.io\
    -o jsonpath='{.items[*].status.storedVersions[?(@=="v1alpha1")]}' | \
    grep -q v1alpha1 && echo "存在不兼容资源" || echo "可以安全升级"

如果发现不兼容资源,需要手动移除v1alpha1版本的存储记录。

升级步骤

升级过程根据CRD的安装方式有所不同:

通过Helm安装CRD的情况

如果使用Helm默认配置(installCRDs=true)安装CRD,只需执行:

helm repo update
helm upgrade <your_app_name> external-secrets/external-secrets --version 0.16.0

单独安装CRD的情况

如果CRD是单独安装的,需要先更新CRD:

kubectl apply -f https://raw.githubusercontent.com/external-secrets/external-secrets/v0.16.0/deploy/crds/bundle.yaml

确认没有错误后,再升级External Secrets到v0.16.0版本。

新功能与改进

0.16.0版本除了API稳定化外,还包含了一些新功能和改进:

  1. AWS Secrets Manager现在支持前缀过滤
  2. 增加了对AWS标签的支持
  3. 增强了GCP工作负载身份的参数灵活性
  4. 新增了refreshPolicy字段,提供更精细的同步控制

常见问题与解决方案

在升级过程中可能会遇到以下问题:

  1. 转换webhook失败:通常是由于CRD安装不完整导致的,需要检查CRD安装过程
  2. 策略设置冲突:如果使用0.16.0版本遇到此问题,建议升级到0.16.1版本

总结

External Secrets 0.16.0版本标志着项目向更稳定、更成熟的阶段迈进。虽然升级过程需要用户特别注意兼容性问题,但这些变更为未来的功能扩展和稳定性奠定了基础。建议用户在升级前仔细阅读本文档,按照指导步骤操作,并在测试环境中验证升级过程,确保生产环境的平稳过渡。

对于任何未涵盖的问题,建议参考项目的问题跟踪系统,社区将积极协助解决升级过程中遇到的困难。

登录后查看全文
热门项目推荐
相关项目推荐