云原生周刊:Kubernetes v1.30 发布 | 2024.4.22
开源项目推荐
pv-migrate
pv-migrate 是一个 CLI 工具/kubectl 插件,可轻松将一个 Kubernetes 的内容迁移 PersistentVolumeClaim 到另一个 Kubernetes。
Claudie
Claudie 是一个云原生的 Kubernetes 管理平台,具备跨多个云提供商和本地数据中心的多云和混合云集群管理能力。它通过基础设施即代码(IaC)的方式,使用简单易懂的 YAML 语法来定义基础设施,并支持快速的扩容和缩容。Claudie 具备自己的负载均衡解决方案和持久化存储卷,并支持多个云提供商,如 AWS、Azure、GCP 等。
Capsule
该项目是一个基于 Kubernetes 的多租户和基于策略的框架。该项目旨在解决 Kubernetes 中多租户管理的挑战,通过引入 Tenant 的概念,将多个命名空间聚合到一个轻量级的抽象层中,实现资源共享和隔离。Capsule 还提供了自助服务、资源控制、本地体验以及与 GitOps 的兼容性等功能,旨在简化多租户环境的部署和管理。
cdk8s
cdk8s 是一个开源软件开发框架,用于使用熟悉的编程语言和丰富的面向对象的 API 定义 Kubernetes 应用程序和可重用抽象。 cdk8s 应用程序合成为标准 Kubernetes 清单,可应用于任何 Kubernetes 集群。
文章推荐
使用 mirrord 在本地调试微服务
这篇文章介绍了使用 mirrord 进行本地微服务调试的方法。作者首先讨论了为什么需要在 Kubernetes 集群中调试代码的重要性。然后,他介绍了一些常用的本地 Kubernetes 开发工具,包括 Telepresence、Gefyra 和 mirrord,并详细介绍了为什么他个人偏爱 mirrord。接下来,他解释了 mirrord 的工作原理和主要功能,包括将流量从远程 Pod 镜像到本地代码、在集群上运行全新的应用程序以及暂停队列的功能。文章还提到了 mirrord 提供的高级版本,以及使用 mirrord 时需要注意的一些问题和挑战。最后,作者分享了一个使用 mirrord 进行本地调试的实际示例,并提供了安装和部署的步骤。
从 Kubernetes 到本地开发
这篇文章介绍了如何从 Kubernetes 迁移到本地开发环境。作者首先讨论了使用 Podman 工具在本地运行 Kubernetes 清单的方法,并展示了如何通过 podman kube play 命令将 Pod 定义转换为本地运行的 Podman 资源。然后,文章探讨了如何从现有的 Kubernetes 集群中获取 Pod 定义,并在本地使用 Podman 运行它们。作者还提到了在运行现有 Pod 定义时可能遇到的一些问题,并给出了解决方法。文章还介绍了如何在本地使用 Podman 运行带有网络和存储配置的 Pod,并讨论了处理清理和删除的注意事项。最后,作者提到了如何在本地运行 Deployment 和 DaemonSet 资源。总的来说,这篇文章提供了从 Kubernetes 到本地开发环境的实用指南和技巧。
无需重新启动,无需中断:通过就地调整大小实现无缝 Pod 资源更新
本文介绍了在 Kubernetes 中实现无需重启和中断的无缝 Pod 资源更新的方法。传统的调整 CPU 和内存资源的方式可能会导致重启 Pod 并对正在运行的工作负载产生影响,从而导致服务降级、停机时间和操作上的困扰。为了解决这个问题,Kubernetes 引入了名为 InPlacePodVerticalScaling 的特性,允许在运行的 Pod 规范中通过对资源字段进行修改来调整 CPU 和内存资源的大小,从而实现无需重启的 Pod 资源调整。这种方法具有减少停机时间、提高资源利用效率、增强灵活性、节省成本和简化管理等优势。文章中详细介绍了如何使用 InPlacePodVerticalScaling 特性进行 Pod 资源调整,并提供了示例和操作步骤。
云原生动态
Kubernetes v1.30: Uwubernetes
日前,Kubernetes v1.30 发布,主题为 Uwubernetes,这是迄今为止最可爱的版本。
这个版本包含了 45 个增强功能,其中有 17 个已升级为稳定版,18 个进入了测试版,还有 10 个被提升至预览版。
Expedia 开源其用于 K8s 工作负载的 Container-Startup-Autoscaler(CSA)
Expedia 的性能和可靠性团队最近开源了 Container-Startup-Autoscaler(CSA)。它是一个 Kubernetes 控制器,利用 Pod 资源就地更新功能,根据用户定义的启动/启动后配置,在启动过程中动态调整容器的 CPU 和/或内存资源。
AWS 将“构建块”蓝图与 CodeCatalyst 相结合
AWS 已将项目开发套件 (PDK) 蓝图添加到其 CodeCatalyst DevOps 工具中。开发人员现在可以根据常见模式构建应用程序,同时还可以设置 DevOps 资源 - 也许会增加对这两个项目的兴趣。
CodeCatalyst 于 2023 年 4 月全面推出,是一项 AWS DevOps 服务,旨在成为一个完整的集成系统,包括源代码管理、构建和测试工具、持续集成和持续交付 (CI/CD)、问题跟踪和合作。
PDK 迄今为止是一个独立的项目,在 GitHub 上开源,它为常见模式提供构建块项目,但仅支持三种语言:TypeScript、Python 或 Java。 PDK 基于 Projen,旨在自动化项目配置。
本文由博客一文多发平台 OpenWrite 发布!