云原生周刊:KubeSphere 平滑升级
开源项目推荐
Kagent
Kagent 是一个开源的 K8s 原生框架,旨在帮助 DevOps 和平台工程师在 K8s 环境中构建和运行 AI 代理(Agentic AI)。与传统的生成式 AI 工具不同,Kagent 强调自主推理和多步骤任务的自动化执行,适用于配置管理、故障排查、性能分析、告警管理和流量配置等复杂操作。
Kagent 构建在 Microsoft 的 AutoGen 开源框架之上,支持 Model Context Protocol(MCP),使其能够与多种云原生工具无缝集成。该项目目前正在积极开发中,并计划作为 CNCF 沙箱项目进行捐赠,以促进社区协作和生态扩展。
Reloader
Reloader 是由 Stakater 开发的 K8s 控制器,旨在自动监测 ConfigMap 和 Secret 的变化,并触发相关工作负载(如 Deployment、StatefulSet、DaemonSet 等)的滚动升级。在 K8s 中,更新 ConfigMap 或 Secret 后,相关的 Pod 并不会自动重启以加载新的配置,可能导致配置更新未生效。Reloader 通过监听这些资源的变化,确保应用始终使用最新的配置。
DevSpace
DevSpace 是一个开源的 K8s 开发工具,旨在简化云原生应用的开发、部署和调试流程。作为一个客户端工具,DevSpace 无需在集群中安装任何组件,直接通过 kubectl 或 helm 等工具与 K8s 集群交互。
Gardener
Gardener 是一个开源的 K8s 集群管理平台,旨在提供跨云环境的 K8s 集群即服务(Kubernetes-as-a-Service)。其核心理念是通过 K8s 本身来管理 K8s 集群,实现高效、可扩展且一致的集群管理体验。
文章推荐
过渡无压力!KubeSphere v3.4.x 到 v4.x 平滑升级全攻略
本文详细介绍了如何将 KubeSphere 从 v3.4.x 升级到 v4.x 的平滑升级步骤。升级分为三个主要阶段:升级 host 集群、升级 member 集群以及升级网关。在升级过程中,首先需要下载并配置升级脚本和配置文件,执行集群状态检查,然后分别进行 host 集群和 member 集群的升级。特别需要注意的是,网关的升级会导致服务中断,因此建议在业务低峰期进行。升级完成后,必须验证所有服务正常运行并检查集群健康状态,确保所有 Pod 状态为 Running
。
K8s 配置管理的革新:超越字符串插值,采用 Koreo 方式
这篇文章讨论了将 YAML 配置文件仅仅视为简单字符串模板的问题,特别是在 Kubernetes 中,像 Helm 和 Kustomize 这样的工具主要依赖字符串插值来管理配置。这种方法适用于简单的情况,但在处理复杂条件和逻辑时就显得繁琐。文章介绍了 Koreo 这个工具,它通过使用“覆盖”的方式代替字符串操作,解决了这些局限性。Koreo 使用类似编程语言的表达式语言来应用原子更新,使配置更加易于管理和测试。这种方法提供了更简洁、可复用和可测试的配置,将配置视为代码,而不是传统的基于字符串的方法。
深入理解 Kubernetes 中的 DNS 配置与解析机制
本文深入探讨了 K8s 中 DNS 配置的工作原理,特别关注 hostNetwork
、dnsPolicy
和 dnsConfig
的交互机制。当 Kubernetes Pod 使用 hostNetwork: true
或 dnsPolicy: Default
时,Pod 会继承宿主机的 DNS 配置。然而,如果宿主机的 /etc/resolv.conf
中配置了超过 3 个 DNS 服务器,Kubelet 会发出警告:“Nameserver limits were exceeded”,并忽略多余的 DNS 服务器。这种配置可能导致 DNS 查询不一致,尤其在多栈(IPv4/IPv6)环境中更为明显。
为了解决这个问题,建议限制宿主机的 DNS 服务器数量,或通过 kubelet
的 --resolv-conf
参数指定自定义的 resolv.conf
文件。此外,理解 Linux 系统中 DNS 配置的层级结构,如 /etc/nsswitch.conf
、/etc/resolv.conf
和 systemd-resolved
,对于调试 DNS 问题至关重要。
云原生动态
Keycloak 26.2.0 发布
Keycloak 26.2.0 近日成功发布,带来了多项重要的新功能和改进。首先,正式推出了标准令牌交换(Token Exchange)功能,支持将内部令牌互换为符合令牌交换规范的令牌;同时,精细化管理员权限 V2 提供了更灵活的权限控制,支持按资源定义权限,简化了权限管理流程。此外,新增了两个 Grafana 仪表板,帮助用户进行故障排除和容量规划,提高了 Keycloak 的可观察性和监控能力。
在安全性和性能方面,Keycloak 26.2.0 引入了默认启用 TLS 加密通信、X.509 身份验证器 CRL 缓存优化,以及客户端配置的新访问令牌头类型等功能。此外,Keycloak Operator 现在可以创建 NetworkPolicy 来限制内部流量,进一步提升了集群安全性。其他更新还包括支持基于 Unix 时间戳过滤事件、SMTP 的令牌身份验证(XOAUTH2)、以及客户端策略动态选择身份验证流程等改进,进一步提升了 Keycloak 的灵活性和易用性。
Valkey 8.1:持续提供增强的性能和可靠性
Valkey 是一个开源的高性能数据库缓存系统,专为在分布式环境中处理大规模数据的缓存需求而设计。它支持多种数据存储引擎,允许用户根据需求选择最适合的存储类型。Valkey 旨在提供可靠、低延迟的数据存取功能,适用于高负载、高并发的应用场景。Valkey 8.1.0 于近期发布,作为 Valkey 8 系列的首个正式版本,旨在提升性能、可靠性、可观察性和可用性。此版本完全兼容所有先前的 Valkey 版本以及 Redis OSS 7.2.4。
关于KubeSphere
KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。
KubeSphere 已被 Aqara 智能家居、本来生活、东方通信、微宏科技、东软、华云、新浪、三一重工、华夏银行、四川航空、国药集团、微众银行、紫金保险、去哪儿网、中通、中国人民银行、中国银行、中国人保寿险、中国太平保险、中国移动、中国联通、中国电信、天翼云、中移金科、Radore、ZaloPay 等海内外数万家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括 Kubernetes 多云与多集群管理、DevOps (CI/CD)、应用生命周期管理、边缘计算、微服务治理 (Service Mesh)、多租户管理、可观测性、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。