GitHub 推出容器 Registry 服务

近日,GitHub 推出容器 Registry 服务,可让用户在 GitHub 托管与管理 Docker 容器镜像,并能控制文件的存取权限。目前容器 Registry 服务仍在公开 Beta 测试中,仅支持 Docker 镜像格式,在 Beta 期间存储和带宽皆免费。

GitHub 在 2019 年的时候就推出过包管理服务 GitHub Packages,受到大量用户欢迎,下载次数达数亿次,其中 Docker 是 GitHub Packages 中,受欢迎程度仅次于 Npm 的生态系统。官方表示,用户现在越来越倾向于使用容器、Kubernetes以及其他云原生技术来开发和部署应用程序。因此现在 GitHub 决定进一步提供容器 Registry 服务,以帮助用户更好地使用容器。

GitHub 容器 Registry 服务的推出,极大鼓励了用户使用标准基础镜像。官方还提到,因为用户希望可以匿名存取公开容器,就像是现在匿名存取公开储存库中的代码一样,所以他们允许GitHub 容器 Registry 服务也能匿名存取

GitHub 容器 Registry 服务会免费提供公共镜像,在 Beta 测试期间,我们将容器 Registry 服务用于私有镜像也是免费的,但以后服务正式推出时,会依照 GitHub Packages 的定价模型进行收费。现在官方已经推出了 Super-linter 公共镜像,以供用户开始使用 GitHub 容器 Registry 服务。

github.blog/2020-09-01-introducing-github-container-registry/

CNCF 宣布 TiKV 毕业

近日,云原生计算基金会 ( CNCF ) 宣布 TiKV 正式从 CNCF 毕业。TiKV 是继 Harbor 之后在 CNCF 毕业的第二个中国原创开源项目。CNCF 认为,从孵化阶段到发展成熟、再到最终毕业,TiKV 不仅逐步实现了更高采用率、开放的治理流程与良好的功能成熟度,同时也在社区、可持续性以及包容性等层面做出了坚定承诺。

TiKV 是一个 Rust 编写而成的分布式事务 Key-Value 数据库,支持跨行 ACID 事务,同时实现了自动水平伸缩、数据强一致性、跨数据中心高可用和云原生等重要特性,是下一代云原生基础架构的理想数据库。TiKV 最初由 PingCAP 团队在 2016 年 1 月作为 TiDB 的底层存储引擎设计并开发,第一版于 2016 年 4 月开源。2018 年 8 月被 CNCF 宣布接纳为沙箱云原生项目,在 2019 年 5 月从沙箱晋级至孵化项目。截止目前,TiKV 核心库在 GitHub 上拥有 7900+ Stars 的关注度 ,256 个社区贡献者。

TiKV 通过 Raft 一致性算法来实现数据多副本之间的一致性,本地采用了 RocksDB 存储引擎存储数据,同时 TiKV 支持数据自动切分和迁移。TiKV 的跨行事务最初参考 Google Percolator 事务模型,并进行了一些优化,提供快照隔离与带锁快照隔离,支持分布式事务。TiKV 的核心特性如下:

  • 跨区复制:采用 Raft 协议和 Placement Driver 支持跨区复制。
  • 可扩展性:通过 Raft 复制数据以及 PD 调度数据,凭借 PD 和 Raft Group,TiKV 在水平扩展方面表现出色,可轻松扩展至100 TB 以上的数据规模。
  • 分布式事务:采用 Google Percolator 事务模型,TiKV 支持强一致分布式事务。
  • 协处理器支持:与 HBase 相似,TiKV 通过协处理框架来支持分布式计算。
  • 与 TiDB 协同:TiKV 和 TiDB 组成分布式数据库解决方案,支持分布式事务,提供横向扩展能力,支持 RDBMS 和 NoSQL 两种访问模式。

项目地址:tikv.org

K8s 这 5 年的 5 个重大改变

今年距 Kubernetes 发行已过去了五年有余,kubernetes 作为世界上最流行的开源编排平台这些年已经发生了显著,实现了许多新功能。下面介绍了 Kubernetes 作为开放源代码项目首次亮相以来,在其发展过程中最重要的五种改进。

Kubernetes 扩展到 Docker 之外

早期,Kubernetes 旨在编排由 Docker runtime 支持的容器。那大概是在 2015 年左右,Docker runtime 那时受到了用户极大的欢迎。但是随着竞争性容器 Runtime 的成熟,很明显 Kubernetes 需要扩展到 Docker 生态系统之外。这始于 Kubernetes v1.3,v1.3 中支持 rkt Runtime,另外在 2016 年,Kubernetes v1.5 又引入了Container Runtime Interface。如今,Kubernetes 能够在各种不同 Runtime 中工作的能力已成为其强大功能的一部分,这也帮助了 Kubernetes 在其他编排平台中脱颖而出。

Kubernetes 支持 Windows

Kubernetes v1.5 因将 Kubernetes 拓展到 Windows 而受到众多关注。这使得在 Windows Server 上编排 Docker 和 Hyper-V 容器成为可能。虽然现在几乎没有人在 Windows 上将 Kubernetes 应用于生产阶段,但 Kubernetes 支持 Windows 仍然具有象征意义,因为它强调了 Kubernetes 成为通用容器编排平台的潜力,这与其他编排工具有所不同,其他编排工具主要用于某些生态系统或用例而设计。

Kubernetes 生态系统对 ML 友好

有些人认为 Kubernetes 编排本身就是机器学习(ML)的一种形式,因为 Kubernetes 会通过从运行环境中收集和分析数据来智能地管理工作负载,但实际上这与支持以机器学习应用程序为中心的工作负载并不太相同。直到 2017 年末 Kubeflow 首次亮相,Kubernetes 才提供这种支持,Kubeflow 简化了在 Kubernetes 集群上部署机器学习堆栈的过程

Kubernetes 支持多集群

命名空间从一开始就是 Kubernetes 的一项重要功能,它允许 Kubernetes 管理员隔离在同一集群中运行的工作负载。随着时间的流逝,Kubernetes 生态系统对于以高效方式管理多个集群越来越重视。如今,多集群已成为 Kubernetes 的主流功能。

Kubernetes 可跨多个云

在过去的一年左右的时间里,使用 Kubernetes 作为多个云之间部署应用程序的中央控制平面的想法日益流行。未来随着多云的发展,Kubernetes 的使用会变得越来越普遍。总的来说,Kubernetes 已经发展成为一个比五年前宽广许多的平台,它几乎支持我们想要的任何 Runtime,可以在 Windows 和 Linux 上运行,也可以管理分布在多个云中的多个集群。

www.itprotoday.com/hybrid-cloud/5-key-ways-kubernetes-architecture-has-evolved-5-years

容器化 Java 程序部署加快

近期 VMWare 发布一份报告显示,容器化 Java 应用程序在 Kubernetes 平台上的部署速度继续加快。根据 VMware 对 1024 位 IT 专业人员进行的调查数据显示,95% 的受访者称,他们已经使用开源 Spring 框架对 Java 应用程序进行了容器化(65%),或计划这样做(30% )。

在对应用程序进行容器化的 95% 的用户中,有 44% 的人已经在 Kubernetes 集群上部署了这些应用程序,还有 37% 的人准备部署。另外,在计划使用 Kubernetes 的公司中,有 84% 的人表示将在未来 12 个月内开始使用。Spring 是企业 IT 组织最广泛采用的 Java 框架,该调查结果显示,在该环境下使用 Kubernetes 平台的人数已大大增加。

本周 K8s 开源项目推荐

capsule

  • 它在 Kubernetes 多租户环境中提供了一个自定义 Operator。
  • github.com/clastix/capsule

konstraint

  • 这是一个 CLI 工具,可以在使用 Gatekeeper 时帮助创建和管理模板。
  • github.com/plexsystems/konstraint

sinker

  • 它可以将容器镜像从一个注册表同步到另一个。
  • github.com/plexsystems/sinker

helm-docs

  • 它可以根据 charts 内容自动生成 markdown 文件。
  • github.com/norwoodj/helm-docs

version-checker

  • 它用于观察集群中运行镜像的当前版本以及上游可用的最新版本。
  • github.com/jetstack/version-checker

kconmon

  • 它用于监视 Kubernetes 节点之间的连接。
  • github.com/Stono/kconmon

Gitlab 调低免费用户 CI/CD 时间

Gitlab 近日宣布,因为现在提供免费用户而产生的 CI/CD 成本太高,所以决定从 10 月 1 日开始,缩减免费用户 CI/CD 的时间配额,从原本的 2000 分钟减少至 400 分钟。用户可以选择付费成为高级用户,以获得 CI/CD 资源。

官方提到,他们希望各种规模的团队,都能够实现 DevOps,因此对免费用户开放了许多功能,以帮助更多用户能够使用完整的 DevOps 功能。但随着 Gitlab 业务发展,流量大幅提高,已有注册 3000 万注册会员,其中 600 万是免费会员。官方对会员的增长十分高兴,但承受不住这种大大增长的基础成本。官方在评估免费用户 CI/CD 的使用状况后,发现 98.5% 的免费用户每月 CI/CD 使用时间在 400 分钟以下,因此官方决定,从 2020 年 10 月 1 日开始,按照会员等级进行分配 CI/CD 时间。

原文链接:https://mp.weixin.qq.com/s/jrS-Scei-KpFLGrq23Diqg