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

本文涉及的产品
简介: 业界要闻 Twitter 的基础设施将从 Mesos 全面转向 Kubernetes:不久前Twitter 在旧金山总部举行了一次技术发布会,Twitter 计算平台(Twitter Computing Platform)产品与技术负责人正式宣布此消息,同时解读了Twitter决策原因、方案具体技术路径。

vol4

业界要闻

  1. Twitter 的基础设施将从 Mesos 全面转向 Kubernetes:不久前Twitter 在旧金山总部举行了一次技术发布会,Twitter 计算平台(Twitter Computing Platform)产品与技术负责人正式宣布此消息,同时解读了Twitter决策原因、方案具体技术路径。推荐你来阅读这篇解读文章来知晓一二。Twitter 抛弃 Mesos,全面转向 Kubernetes
  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应用架构体系升级,充分利用云上的弹性、敏捷等能力,实现业务应用的快速迭代和交付。可以参考阿里云专家分享“通过编排模板创建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部署的工具,特点如下:

  1. 支持内网环境下的离线安装;支持多种CNI插件;支持 etcd 的备份和恢复;支持k8s HA部署
  2. 这个项目目前包含三个工具:

    • etcdadm,简化etcd运维;
    • nodeadm,支持安装kubeadm的基础依赖;
    • cctl,支持对接Kubernetes的cluster api简化k8s集群的HA部署;
      c.关于这个 K8s “部署神器”,你还可以阅读这篇介绍参考来做更深入的了解。

本周阅读推荐

  • 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


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
Kubernetes Cloud Native 调度
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
随着云原生的兴起,越来越多的应用选择基于Kubernetes进行部署,可以说Kubernetes 是最流行的容器编排和部署平台。它的强大功能特性,可以保障在生产中可靠地运行容器化应用程序,相关的DevOps等工具也应运而生,下面就是小编简单化了一个Kubernetes的逻辑架构图。
326 9
云原生技术专题 | 云原生容器编排问题盘点,总结分享年度使用Kubernetes的坑和陷阱
|
10天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
13 4
|
22天前
|
运维 Cloud Native 云计算
云原生技术:构建灵活高效的应用生态
随着云计算技术的不断发展,云原生技术作为一种全新的应用开发和部署模式,正逐渐成为业界关注的焦点。本文将介绍云原生技术的基本概念、优势以及在构建灵活高效的应用生态方面的应用实践,以期为读者提供全面了解云原生技术的视角。
|
29天前
|
Kubernetes Cloud Native Docker
【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0
Kubernetes 是一个开源平台,用于管理容器化工作负载和服务,提供声明式配置和自动化。源自 Google 的大规模运维经验,它拥有广泛的生态支持。本文档详细介绍了 Kubernetes 集群的搭建过程,包括服务器配置、Docker 和 Kubernetes 组件的安装,以及 Master 和 Node 的部署。此外,还提到了使用 Calico 作为 CNI 网络插件,并提供了集群功能的测试步骤。
217 0
|
1月前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
50 1
|
1月前
|
弹性计算 运维 Kubernetes
云原生K8S场景自动化响应ECS系统事件
客户云原生K8S场景下,通过社区开源NPD+Draino+Autoscaler零开发,对接响应ECS主动运维事件,通过自动响应事件减少非预期宕机。
|
1月前
|
供应链 Cloud Native 安全
云原生时代下,操作系统生态的挑战与机遇
人工智能、大数据、云计算等新技术的发展也对操作系统的灵活度和智能化提出新的要求。
|
3月前
|
Kubernetes Cloud Native 网络协议
【云原生】Kubernetes介绍
【云原生】Kubernetes介绍
38 1
|
3月前
|
人工智能 Cloud Native PyTorch
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践
148654 4
|
3月前
|
人工智能 Cloud Native 调度
为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践
本文主要介绍了解析云原生 AI 所遇到的技术挑战和应对方案,随后介绍云原生 AI 领域的关键技术与架构细节,最后分享我们在 ACK 的相关经验及工程实践。