云原生生态周报 Vol. 4 | Twitter 走向 K8s

本文涉及的产品
全局流量管理 GTM,标准版 1个月
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 业界要闻 Twitter 的基础设施将从 Mesos 全面转向 Kubernetes:不久前Twitter 在旧金山总部举行了一次技术发布会,Twitter 计算平台(Twitter Computing Platform)产品与技术负责人正式宣布此消息,同时解读了Twitter决策原因、方案具体技术路径。

vol4

业界要闻

  1. Twitter 的基础设施将从 Mesos 全面转向 Kubernetes:不久前Twitter 在旧金山总部举行了一次技术发布会,Twitter 计算平台(Twitter Computing Platform)产品与技术负责人正式宣布此消息,同时解读了Twitter决策原因、方案具体技术路径。推荐你来阅读这篇解读文章来知晓一二。
  2. Microsoft 在 Build 大会上通过开源开发者项目进一步拓展云计算生态。其中最受关注的,包括了 Kubernetes-based Event Driven Autoscaling (KEDA)项目 和引发广泛讨论的 Windows Terminal
  3. KEDA 项目,为 Kubernetes 原生的应用自动水平扩展器(HAP)提供了一个对接各种触发源的接口(比如 Kafka 和 RabbitMQ),从而能够通过这些渠道里的信息来触发 K8s 应用的水平扩展,甚至直接驱动 Azure Functions(Azure 的 FaaS 服务是可以直接对接 K8s 的)。在大力投入“云原生”体系之后,Microsoft 坚持通过 K8s 整合自身各种云计算产品的战略,初见成效,这也将是 Knative 项目遭受到的第一个挑战。
  4. Windows Terminal 项目在给 Windows 带来更原生的 Linux 开发体验的同时,同也宣布了 Microsoft 计划将 Linux 内核插入 Win10 (预计今年 6 月正式发布)的“雄伟计划”。这将意味着,原本“开发在 Mac、部署在云上”的工作方式,将有可能发生重大变革:Microsoft 正在用实际行动尝试连通开发者体验中的最后一公里。

在现今企业服务器OS市场,Windows依然占据半壁江山,其市场分额达60%之多,把Windows应用搬站上云不仅仅是基础设施的迁移,更重要的是通过Kubernetes等云原生技术让传统的Windows应用架构体系升级,充分利用云上的弹性、敏捷等能力,实现业务应用的快速迭代和交付。

上游重要进展

Kubernetes 项目

  1. K8s 1.15版本发布时间定在 6月17日,性能有望进一步大幅提升。目前,社区已经发布了k8s 1.15.0 alpha.2 预览版本。其中,来自 Google 的工程师与阿里云工程师合作的 Bookmark API (\#75474\#74074) 赫然在列。这个更新为 WATCH 操作添加了“书签(Bookmark)”,使得这些海量的 WATCH 操作的建立者在重启之后只需要对“书签”之外的少数历史变化进行追溯。在特定情况下,K8s APIServer 的性能会被提高 40 倍以上。
  2. KEP:NodeLocalDNS 特性即将 Beta(默认开启),边缘计算场景有望受益。ubernetes提供原生的DNS服务,通常以Deployment的方式部署,所以只会运行在集群的某些节点上。这导致 Pod会经常需要跨节点进行DNS解析,效率很低。在边缘弱网络链接场景下甚至出现 DNS 解析不可用的情况。而该 KEP 则提出在每个节点以Daemonset方式部署本地DNS缓存,是的当前节点上Pod的 DNS 解析都优先走本地的 DNS 缓存。

Knative 项目

  1. Knative重新审视事件触发源(Channel)的API 语义设计:Knative Eventing项目本周投票确定了为每一个事件触发源(Channel )定义单独的 CRD 的设计,而不是像现在这样用一个大 Provisioner 来进行描述,计划在0.7版本实现该功能。不难看到,面对 KEDA 的潜在挑战 ,Knative 项目正在重新审视如何通过事件触发源来进一步扩张项目生态。
  2. Knative 正在开发 Event Registry: 通过 Event Registry,能很方便的获知有哪些事件可以进行消费,这样就可以对这些事件通过 Trigger 进行订阅事件。当前功能目前进展中,该特性计划在0.6版本发布。

Istio/Envoy 项目

  1. Envoy正打算提供一个DNS filter用于完成DNS名称到集群名的映射。该filter可以通过xDS API来动态配置。实现这个filter需要依赖社区正在做的支持UDP协议的能力。
  2. Envoy新增TDS协议支持运行时配置某些feature和参数。通过将runtime映射到文件系统的目录树中,以文件的方式的来修改参数。控制平面可通过TDS去控制这些runtime参数。
  3. Envoy开始制定标准明确什么是稳定的API。目的是为了在今后升级Envoy API的时候可以做到向后兼容,使得控制平面在连接Envoy的时候也可以做到相互兼容。

Containerd 项目

  1. containerd 通过 fifo 来实现动态接管 containerd-shim 标准输出。但是 containerd-shim 退出之后,containerd 服务端还保留着 fifo 的文件具柄,会导致大量的文件具柄泄漏。目前该问题已经得到修复。
  2. devicemapper snapshotter 实践优化:containerd 创建 committed devicemapper 的时候,并不会 deactivate 这个 device,这会导致在它之上创建新的 snapshotter 时,需要挂起和恢复动作,这会让镜像下载和创建容器的速度变慢。目前该问题已经得到修复,改善了 devicemapper snapshotter 的性能。

开源项目推荐

本周推荐你关注 Klusterkit 项目。Klusterkit 是一款简化Kubernetes部署的工具,特点如下:
a. 支持内网环境下的离线安装;支持多种CNI插件;支持 etcd 的备份和恢复;支持k8s HA部署
b. 这个项目目前包含三个工具:

- etcdadm,简化etcd运维;
- nodeadm,支持安装kubeadm的基础依赖;
- cctl,支持对接Kubernetes的cluster api简化k8s集群的HA部署;

本周阅读推荐

  • Google Traffic Director详细介绍: Google最近宣布用于服务网格的Traffic Director beta测试版,为VM和容器服务带来全局流量管理。Traffic Director 是托管版的 Service Mesh 控制平面,主要卖点和特色是:对混合云/多云的支持,支持全局负载均衡;支持VM服务,可混合使用虚拟机和容器;整合 serverless 的部分特性,提供基于流量的自动伸缩能力。本文将对 Traffic Director 进行详细介绍和产品分析。
  • Knative Tracing 介绍: 微服务架构本身会面临一系列诸如:后台错误原因分析、各个微服务组件的调用情况诊断等。所以需要有一个 Tracing 系统解决这些问题。基于 Serverless 模型来开发一个完整的业务实现,需要分解成多个 Serverless 模块,每个模块单独通过 Knative 的 Serving 部署,这些不同的 Serving 之间需要调用链进行事务的串联。
  • 像Google一样构建机器学习系统 - 开发你的机器学习工作流:Google在机器学习工作流平台上的工程经验非常丰富,它的TensorFlow Extended机器学习平台支撑了Google的搜索,翻译,视频等核心业务;更重要的是其对机器学习领域工程效率问题的理解深刻。机器学习工作流是一个任务驱动的流程,同时也是数据驱动的流程,这里涉及到数据的导入和准备,模型训练Checkpoint的导出评估,到最终模型的导出。

名词解释:KEP - Kubernetes Enhancement Proposal, 即 Kubernetes 上游设计文档


本周报由阿里巴巴容器平台联合蚂蚁金服共同发布

本周作者:张磊,徙远,天千,至简,傅伟,敖小剑

责任编辑:木环


前期周报回顾
云原生生态周报 Vol. 3 | Java 8 ️️ Docker
云原生生态周报 Vol. 2 | Istio中Envoy 代理漏洞已修复
云原生生态周报 Vol. 1 | 谷歌云发布Cloud Run


欢迎关注阿里云容器服务(ACK)提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳的 Kubernetes 容器化应用运行环境。https://www.aliyun.com/product/kubernetes?source_type=cnvol_513_wenzhang

image


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
4天前
|
存储 运维 Kubernetes
云原生之旅:Kubernetes的弹性与可扩展性探索
【10月更文挑战第32天】在云计算的浪潮中,云原生技术以其独特的魅力成为开发者的新宠。本文将深入探讨Kubernetes如何通过其弹性和可扩展性,助力应用在复杂环境中稳健运行。我们将从基础架构出发,逐步揭示Kubernetes集群管理、服务发现、存储机制及自动扩缩容等核心功能,旨在为读者呈现一个全景式的云原生平台视图。
14 1
|
9天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
35 4
|
9天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
37 3
|
12天前
|
运维 Kubernetes Cloud Native
云原生入门:Kubernetes和容器化的未来
【10月更文挑战第23天】本文将带你走进云原生的世界,探索Kubernetes如何成为现代软件部署的心脏。我们将一起揭开容器化技术的神秘面纱,了解它如何改变软件开发和运维的方式。通过实际的代码示例,你将看到理论与实践的结合,感受到云原生技术带来的革命性影响。无论你是初学者还是有经验的开发者,这篇文章都将为你开启一段新的旅程。让我们一起踏上这段探索之旅,解锁云原生技术的力量吧!
|
15天前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
16天前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
112 17
|
1月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
356 1
|
1月前
|
Kubernetes Cloud Native 微服务
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
微服务实践之使用 kube-vip 搭建高可用 Kubernetes 集群
91 1
下一篇
无影云桌面