Vitess v9.0 发布

Vitess 是用于部署、扩展和管理大型 MySQL 实例集群的解决方案。Vitess v8.0 没有重大问题,所以 Vitess 团队没有发布 Vitess v8.0 的补丁,直接过渡到了下一个大版本,于上周发布了 Vitess v9.0。该版本着重于提升稳定性,一些主要更新包括:

  • 持续提升对 MySQL 的兼容性,确保 Vitess 能接受所有 MySQL 做的查询。
  • VReplication 中添加增强的日志记录和 metrics 以帮助调试停滞和失败的 VReplication 工作流。
  • 此前 VReplication 对 JSON 列的支持是不完整的,经过重构现在该功能已完整可用。
  • VReplication 工作流中引入了 CLI 命令 v2。
  • 语法变化:在线 DDL 语法进行了更改并定稿。引入了 @@ ddl_strategy 会话变量或 -ddl_strategy 命令行标志来确定迁移是正常(direct)执行还是在线(gh-ost 或 pt-osc)执行。此外,迁移现在使用标准的 ALTER TABLE 语法。

详情见:https://github.com/vitessio/vitess/releases/tag/v9.0.0

Kong v2.3 发布

Kong 是云原生分布式 API 网关。此次 Kong 团队发布了 Kong v2.3 社区版,以及 Kong v2.3 企业版的 Beta 版本。以下是 Kong v2.3 社区版的一些重要更新:

  • 引入 UTF-8 字符编码,支持 UTF-8 字符命名路由和服务;
  • 改进了 HTTP Log 插件,可轻松与监控系统(Splunk、 ELK 等)集成;
  • 安全性提升:Kong v2.3 版本默认情况下更安全。该版本新增并启用了新的沙箱功能,默认情况下,serverless 功能仅在沙箱中允许使用 Kong PDK、OpenRestry ngx API 和 Lua 标准库。

详情见:https://konghq.com/blog/kong-gateway-2-3-released/

GitLab v13.8 发布

GitLab v13.8 近日正式发布,CI/CD 是更新重点,不只新增了工作流程编辑器,让开发者能够以可视化的方法定义 CI/CD 功能,还提供了部署频率图表,让用户评估自身 DevOps 的成熟度。过去 GitLab 用户都以 gitlab-ci.yml 配置文件,来定义 CI/CD 功能。从 GitLab v13.8 开始,用户可以使用 CI/CD 编辑器。这是该编辑器的第一个版本,能够支持各种复杂的工作流程使用案例,用户能够更简单地配置 CI/CD 工作流。

除了编辑器,GitLab v13.8 另一个重要更新是提供了部署频率指标,让开发者能够衡量 DevOps 成熟度。DevOps 成熟度越高,业务成果就越好,其中部署频率、更改的前置时间、服务恢复时间和更改失败率就是四个衡量 DevOps 成熟度的重要指标。

由于许多 GitLab 用户希望能够使用这些指标,来评估自身 DevOps 成熟度,但要取得相关的系统数据,并计算这些指标非常困难且耗时,因此 GitLab 决定将这些指标内建到系统中,从 GitLab v13.8 开始,用户就可以从 CI/CD 分析页面中,查询部署频率图表。官方表示,未来将陆续添加其他三个指标。

原文链接:https://www.ithome.com.tw/news/142460

Docker 新 CTO 上任

1 月 28 日,Docker 在 Twitter 上宣布 Justin Cormack 将成为 Docker 公司的新一任 CTO( Docker 公司前 CTO 包括创始人 Solomon Hykes 和 Kal De)。Justin 于 2015 年加入 Docker,之前担任高级安全工程师,也是 Docker 项目的 maintainer。

上周,Docker 也宣布与工件管理工具提供商 JFrog 建立合作关系。这项合作将“确保开发人员可以获取他们想要和信任的镜像,并确保这些镜像可以在集中式平台上的任何开发过程中被访问”。目前,开发者更期待的仍是 Docker Hub 和 Artifactory 的更好集成。

新闻链接:https://twitter.com/Docker/status/1354481439597752320

微服务兴起,数据库数量显著增长

IDC 的一项调查表明,随着微服务的兴起,IT 团队在云原生时代需要管理的数据库数量显著增加。该调查是代表 Redis Labs 进行的,对 300 家收入超过 1 亿美元的企业 IT 组织进行了调查。根据结果,将近一半(47%)的微服务应用程序依赖于数据库,其中大多数(84%)应用程序使用键值数据库或 NoSQL 数据库

该研究还指出,大约四分之一的基于微服务的应用程序(占 24%)被认为对业务至关重要,这其中约 42% 的应用程序会在停机时直接造成收入损失。根据调查结果,95% 的受访者表示在为微服务应用程序做数据库选型时,技术概况和性能是要考虑的重要因素。IDC 调查指出,在微服务应用程序中管理数据库的最大挑战是编排(32%)。在大多数情况下,这些数据库是在 DevOps 工作流中进行管理的,而不是由 DBA 管理。

原文链接:https://containerjournal.com/topics/survey-shows-microservices-prefer-key-value-nosql-databases/

谷歌宣布推出 VM Manager

1 月 28 日,谷歌宣布推出 VM Manager,一套基础设施管理工具,可简化和自动化大型 GCE(Google Comupte Engine) 虚拟机群的维护。谷歌推出的这一新产品将帮助降低上云的复杂性。

VM Manager 的自动化功能可使得保障合规性、可观察性以及维护大型 VM 机群的安全性等工作得到简化并降低其复杂性。它有一个仪表板,可提高合规可见性,对目录数据进行追踪,以便维持基础架构的最佳性能。VM Manager 套件支持 Windows 和 Linux 操作系统环境,包含对 VM 的补丁管理、配置管理和目录管理等服务,可让用户轻松管理大型机群。

原文链接:https://cloud.google.com/blog/products/compute/introducing-vm-manager

2021 年云原生最新趋势预测

CNCF CTO Chris Aniszczyk 近期发布博文分享了他对 2021 年云原生发展趋势的看法:

云原生 IDE

未来,与本地 Emacs 或 VSCode 设置相比,开发生命周期(代码,构建,调试)将主要在云中进行。每个 Pull Request 都将获得完整的开发和部署环境,以满足开发和调试需求。目前,GitHub 代码空间和 GitPod 都是云原生 IDE 的具体示例。

边缘 Kubernetes

Kubernetes 诞生于海量数据中心,但 Kubernetes 会像 Linux 一样演进到新的环境。Linux 的最终用户拓展了其内核以支持移动端、嵌入式等更多的部署场景,我坚信 Kubernetes 将经历类似的发展。超大规模云对电信运营商和边缘场景的支持,对云原生软件的复用能力,以及在大型生态系统的构建能力,将使 Kubernetes 在未来成为边缘计算的主导平台。

云原生+Wasm

Web Assembly(Wasm)是一项新兴的技术,但我希望它成为云原生生态系统中的实用程序和工作负载,尤其是随着 WASI 的成熟以及 Kubernetes 被更多地用作边缘协调器。

一种用例是为扩展机制提供动力,例如 Envoy 对过滤器和 LuaJIT 所做的那样。我们可以直接使用支持各种编程语言的更小优化运行时,而无需直接处理 Lua。Envoy 项目目前正在采用 Wasm,在任何环境下,脚本语言都是一种流行的扩展机制,将来都会被 Wasm 取代,我希望在任何环境下都可以采用类似的模式。对 Kubernetes 来说,微软的 Krustlet 正在探索如何在 Kubernetes 中支持基于 WASI 的运行时。这并不奇怪,因为 Kubernetes 已经通过 CRD 和其他机制进行了扩展,以运行不同类型的工作负载,例如 VM(KubeVirt)等。

FinOps 崛起(CFM)

随着新冠病毒的爆发,越来越多的公司加速了上云进程。随之而来的,云财务管理(FinOps)也成为大家越来越关注的问题。真正的痛点在于,目前缺乏云财务管理相关的开源创新和标准化(所有云都以不同的方式进行成本管理)。在 CNCF 环境中,没有多少开源项目试图简化 FinOps,少有的像 KubeCost 这样的项目还比较年轻。Linux 基金会最近启动了“ FinOps 基金会”以帮助这一领域的创新,我希望未来几年内在 FinOps 领域看到更多开源项目和规范。

云原生项目更多地采用 Rust

Rust 仍然是一门新兴而小众的编程语言, 但我的感觉是,由于已经有少数 CNCF 项目采用 Rust (如microvm Firecracker),来年会在更多的云原生项目中看到 Rust。尽管 CNCF 中绝大多数项目以 Golang 编写,但我预计随着 Rust 社区的成熟,基于 Rust 的项目将在几年内与基于 Go 的项目相提并论。

跨云不再是梦想

Kubernetes 和云原生运动表明,在生产环境中可以使用云原生和多云的方法。随着云市场的成熟,Kubernetes 有望解锁编程化的跨云托管服务。一个具体示例体现在 Crossplane 项目中,该项目提供了一个开源的跨云控制平面,利用 Kubernetes API 的可扩展性来实现跨云工作负载管理。

详情可请参阅:https://thenewstack.io/gitlab-deploys-the-crossplane-control-plane-to-offer-multicloud-deployments/

原文链接:https://www.aniszczyk.org/2021/01/19/cloud-native-predictions-for-2021-and-beyond/

本周 K8s 开源项目推荐

PipeCD

  • PipeCD 是用于声明性 Kubernetes、无服务器和基础设施应用程序的连续交付系统。
  • github.com/pipe-cd/pipe

kfilt

  • kfilt 是一种工具,可从 Kubernetes YAML 中过滤特定资源。
  • github.com/ryane/kfilt

kubectl-sudo

  • 它允许用户使用其他用户的安全性特权运行 kubernetes 命令。
  • github.com/postfinance/kubectl-sudo

AdditronK8S

  • 它是用 Java 实现的 Kubernetes 定制控制器。
  • github.com/paolomainardi/additronk8s-retrogames-kubernetes-controller

pvc-autoresizer

  • 这是一种旨在自动扩展 Kubernetes 集群上的持久卷声明(PVC)大小的工具。
  • github.com/topolvm/pvc-autoresizer

kine

  • 这是一个 etcdshim,可将 etcd API 转换为 sqlite、Postgres、Mysql 和 dqlite。
  • github.com/rancher/kine

Kubehealthy

  • Kubernetes 上的综合监控工具。管理员只需在容器中编写测试,就可让 Kuberhealthy 管理所有内容。它支持自动创建指标并将指标发送到 Prometheus 和 InfluxDB,包括简单的 JSON 状态页面。很好地补充了诸如 Prometheus 等其他解决方案。
  • comcast.github.io/kuberhealthy