Gardener v1.118.0 版本深度解析:种子备份重构与架构能力增强
项目概述
Gardener 是一个开源的 Kubernetes 即服务(Kubernetes-as-a-Service)项目,它允许用户在云提供商或本地基础设施上轻松创建和管理 Kubernetes 集群。作为云原生生态系统中重要的集群管理工具,Gardener 通过抽象底层基础设施的复杂性,为用户提供了统一的集群管理体验。
核心变更解析
种子备份机制重构
本次版本对种子备份机制进行了重要重构,引入了全新的 credentialsRef 字段来替代原有的 secretRef 字段。这一变更影响多个组件和配置:
- Seed API:新增
spec.backup.credentialsRef字段,类型为corev1.ObjectReference,允许引用 Secret 资源 - ManagedSeed API:在
spec.gardenlet.config.seedConfig.spec.backup下新增credentialsRef字段 - Gardenlet API:在
spec.config.seedConfig.spec.backup下新增credentialsRef字段 - GardenletConfiguration:配置文件中的
seedConfig.spec.backup部分新增credentialsRef字段
这一重构使得备份凭证的管理更加灵活和安全,建议用户尽快迁移到新的 API 设计。
架构能力增强
v1.118.0 引入了 alpha 阶段的 CloudProfileCapabilities 特性门控,该功能允许通过 architecture 能力字段来定义机器镜像和类型的架构信息,替代现有的架构字段。这一改进为未来更灵活的架构定义奠定了基础,使云配置更加模块化和可扩展。
安全与可观测性改进
审计日志变更
Gardener 不再为以下组件自动配置审计日志相关参数:
- 射击集群的 kube-apiserver
- gardener-apiserver
- 虚拟花园的 kube-apiserver
如果用户依赖容器文件系统中 /tmp/audit/audit.log 的审计日志,需要通过控制平面 webhook 自行配置相关参数。
Kubelet CA 证书可用性提升
现在,kubelet 的 CA 证书包可以通过项目命名空间中的 ConfigMap 获取,命名为 <shoot-name>.ca-kubelet。这一改进简化了证书管理流程,提高了证书获取的便利性。
稳定性与运维增强
自动重启机制
Gardener 核心组件现在会在 Kubernetes API 服务器 watch 缓存不同步超过 3 分钟时自动重启(通过失败的存活探针触发)。这一机制显著提高了系统在异常情况下的自我恢复能力。
陈旧项目检测优化
Stale Project Controller 现在会考虑 WorkloadIdentity 资源来判断项目是否陈旧。这一改进使得项目状态评估更加全面准确,避免了因忽略工作负载身份资源而导致的误判。
依赖项更新
本次版本更新了多个关键依赖组件:
- 自动缩放器升级至 v1.32.0
- etcd-druid 升级至 v0.29.1
- 仪表盘升级至 1.80.0
- 机器控制器管理器升级至 v0.58.0
- Envoy 代理升级至 v1.34.0
这些依赖更新带来了性能改进、安全修复和新功能支持。
开发者体验改进
- 扩展生成工具:
hack/tools/extension-generator现在会自动为生成的 providerExtension资源设置.spec.deployment.extension.injectGardenKubeconfig: true字段 - 控制器注册脚本:新增
-i|--inject-garden-kubeconfig标志,用于在生成的ControllerDeployment中添加injectGardenKubeconfig: true字段 - 测试框架增强:
DumpLogsForPodsWithLabelsInNamespace函数现在支持转储多容器 Pod 的日志
迁移建议
- 备份凭证迁移:尽快将种子备份配置从
secretRef迁移到新的credentialsRef字段 - 审计日志配置:检查并确保通过 webhook 配置了必要的审计日志参数
- EU 访问标签:移除遗留的
support.gardener.cloud/eu-access*标签和注解,使用 v1.107 引入的新 API - 架构能力评估:评估并测试新的
CloudProfileCapabilities特性门控,为未来架构管理变更做准备
总结
Gardener v1.118.0 版本带来了多项重要改进,特别是在种子备份机制和架构能力管理方面。这些变更不仅提高了系统的灵活性和安全性,也为未来的功能扩展奠定了基础。建议用户仔细评估这些变更对现有部署的影响,并制定相应的升级和迁移计划。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0134
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00