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

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 业界要闻 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


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
9月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
9月前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
297 10
|
11月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
433 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
12月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
12月前
|
Kubernetes Cloud Native 云计算
云原生入门:Kubernetes 和容器化基础
在这篇文章中,我们将一起揭开云原生技术的神秘面纱。通过简单易懂的语言,我们将探索如何利用Kubernetes和容器化技术简化应用的部署和管理。无论你是初学者还是有一定经验的开发者,本文都将为你提供一条清晰的道路,帮助你理解和运用这些强大的工具。让我们从基础开始,逐步深入了解,最终能够自信地使用这些技术来优化我们的工作流程。
|
26天前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
170 1
|
1月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
206 89
|
6月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
ACK One 的多集群应用分发,可以最小成本地结合您已有的单集群 CD 系统,无需对原先应用资源 YAML 进行修改,即可快速构建成多集群的 CD 系统,并同时获得强大的多集群资源调度和分发的能力。
254 9
|
6月前
|
资源调度 Kubernetes 调度
从单集群到多集群的快速无损转型:ACK One 多集群应用分发
本文介绍如何利用阿里云的分布式云容器平台ACK One的多集群应用分发功能,结合云效CD能力,快速将单集群CD系统升级为多集群CD系统。通过增加分发策略(PropagationPolicy)和差异化策略(OverridePolicy),并修改单集群kubeconfig为舰队kubeconfig,可实现无损改造。该方案具备多地域多集群智能资源调度、重调度及故障迁移等能力,帮助用户提升业务效率与可靠性。
|
8月前
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
785 33

热门文章

最新文章

推荐镜像

更多