首先,我想分享SIG的使命,因为我们用它来指导我们现在和将来的工作。从我们的章程中直接来看,SIG的使命是简化,开发和维护云供应商集成,作为Kubernetes集群的扩展或附加组件。这背后的动机是双重的:确保Kubernetes保持可扩展性和云中立(agnostic)。
云供应商的现状

为了获得前瞻性的工作视角,我认为重新审视云供应商的当前状态非常重要。今天,每个核心Kubernetes组件(除了调度程序和kube-proxy)都有一个-cloud-provider标志,你可以配置该标志以启用一组与底层基础架构提供程序集成的功能,即云供应商程序。启用此集成可为群集启用一系列功能,例如:节点地址和区域发现,具有Type= LoadBalancer的服务的云负载平衡器,IP地址管理以及通过VPC路由表的群集网络。今天,云供应商集成可以在树中或在树外完成。

In-Tree和Out-of-Tree供应商

树内云提供程序是我们在主Kubernetes存储库中开发和发布的供应商程序。这导致将每个云供应商的知识和上下文嵌入到大多数Kubernetes组件中。这使得更多原生集成(例如,kubelet)能够通过来自云供应商的元数据服务来请求关于其自身的信息。

In-Tree Cloud Provider Architecture

树外云供应商是可以独立于Kubernetes核心开发,构建和发布的供应商。这需要部署一个名为cloud-controller-manager的新组件,该组件负责运行以前在kube-controller-manager中运行的所有特定于云的控制器。

Out-of-Tree云供应商架构

当最初开发云提供程序集成时,它们是原生开发的(在树中)。我们将每个供应商集成在Kubernetes的核心附近,并在今天的k8s.io/kubernetes整体存储库中。随着Kubernetes变得越来越普遍,越来越多的基础设施供应商希望原生支持Kubernetes,我们意识到这种模式不会扩展。每个提供程序都会带来大量依赖项,这会增加代码库中的潜在漏洞,并显着增加每个组件的二进制大小。除此之外,更多Kubernetes发行说明开始关注供应商特定的更改,而不是影响所有Kubernetes用户的核心更改。

在2017年末,我们为云供应商开发了一种方法来构建集成,而无需将它们添加到主Kubernetes树(树外)。这成为生态系统中新的基础设施供应商与Kubernetes集成的事实上的方式。从那时起,我们一直在积极努力迁移所有云供应商以使用树外架构,因为如今大多数集群仍在使用树内云供应商。

展望未来

展望未来,SIG的目标是删除所有现有的树内云供应商,转而使用树外的实现,同时对用户的影响最小。除了上面提到的核心云供应商集成之外,还有更多的云集成扩展点,如CSI和镜像凭据供应商,正在为v1.15积极开展工作。达到这一点意味着Kubernetes真正与云中立,没有针对任何云供应商的原生集成。通过这项工作,我们使每个云供应商能够独立于Kubernetes以自己的节奏开发和发布新版本。我们现在已经知道,这是一项具有独特挑战的巨大壮举。迁移工作负载绝非易事,尤其是当它是控制平面的重要组成部分时。在即将发布的版本中,我们的SIG最优先考虑在树内和树外云供应商之间提供安全且简便的迁移路径。如果你对此感兴趣,我建议你查看我们的一些KEP并通过加入邮件列表或我们的Slack渠道(Kubernetesslack中的#sig-cloud-provider)与我们的SIG取得联系。

Kubernetes云供应商架构的未来的更多相关文章

  1. 【原创】基于Docker的CaaS容器云平台架构设计及市场分析

    基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...

  2. 基于AWS的云服务架构最佳实践

    ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...

  3. Kubernetes的系统架构与设计理念

    Kubernetes与云原生应用简介 随着Docker技术的发展和广泛流行,云原生应用和容器调度管理系统也成为IT领域大热的词汇.事实上,云原生应用的思想,在Docker技术火爆之前,已经由云计算技术 ...

  4. 新书《OpenShift云原生架构:原理与实践》第一章第三节:企业级PaaS平台OpenShift

    近十年来,信息技术领域在经历一场技术大变革,这场变革正将我们由传统IT架构及其所支撑的臃肿应用系统时代,迁移至云原生架构及其所支撑的敏捷应用系统时代.在这场变革中,新技术的出现.更新和淘汰之迅速,以及 ...

  5. 基于 Angularjs&Node.js 云编辑器架构设计及开发实践

    基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设 ...

  6. Kubernetes 之上的架构应用

    规划并运转一个兼顾可扩展性.可移植性和健壮性的运用是一件很有应战的事情,尤其是当体系杂乱度在不断增长时.运用或体系 本身的架构极大的影响着其运转办法.对环境的依靠性,以及与相关组件的耦合强弱.当运用在 ...

  7. Sentry(v20.12.1) K8S 云原生架构探索,JavaScript Enriching Events(丰富事件信息)

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...

  8. VMware vSphere 7.0 Update 2 发布 - 数据中心虚拟化和 Kubernetes 云原生应用引擎

    2021 年 3 月 9 日,VMware 发布了 vSphere 7 Update 2.它可以通过 VMware Customer Connect 和 vSphere Lifecycle Manag ...

  9. 一面数据: Hadoop 迁移云上架构设计与实践

    背景 一面数据创立于 2014 年,是一家领先的数据智能解决方案提供商,通过解读来自电商平台和社交媒体渠道的海量数据,提供实时.全面的数据洞察.长期服务全球快消巨头(宝洁.联合利华.玛氏等),获得行业 ...

随机推荐

  1. 搭服务器之kvm--vnc连接虚拟机连接闪退直接消失 以及virsh shutdown命令无效解决办法。

    之前暑期见识到了虚拟化在企业中的应用,感慨不小,以前只是自己在玩儿桌面vmware workstation,安装的虚拟机也没啥大感觉.在公司机房里大家用的dell poweredge 420,8gme ...

  2. WebGPU图形编程(1):建立开发环境 <学习引自徐博士教程>

    首先感谢徐博士提供的视频教程,我的博客记录也是学习徐博士进行的自我总结,老徐B站学习视频链接网址:WebGPU图形编程 - 免费视频教程(1):建立开发环境_哔哩哔哩_bilibili 创建之前你需要 ...

  3. golang中结构体和结构体指针的内存管理

    p1是结构体,p2是结构体指针. 2. 声明并赋值结构体和结构体指针 package main import "fmt" type Person struct { name str ...

  4. http8种请求方式

    根据HTTP标准,HTTP请求可以使用多种请求方法. HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELE ...

  5. 从零开始, 开发一个 Web Office 套件 (2): 富文本编辑器

    书接前文: 从零开始, 开发一个 Web Office 套件 (1): 富文本编辑器 这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Of ...

  6. System.arraycopy()的用法?

    1.使用方法 public void arr(Object arr1, int x, Object arr2, int y, int length) arr1 : 源数组; x: 需要从源数组要复制的 ...

  7. java中构造函数和一般函数的区别

    构造方法 特点: 1.方法名称和类名相同 2.不用定义返回值类型 3.不可以写return语句 作用: 给对象初始化 构造方法的细节: 当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法. ...

  8. JAVA多线程学习九-原子性操作类的应用

    当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2.因为A和B线程在更新变量i ...

  9. 【Android珍藏】推荐10个炫酷的开源库【转】

    感谢大佬:https://www.jianshu.com/p/d608f0228fd4 前言 技术群里面经常有人问到一些炫酷的UI效果实现方法,有时候我都是给一个相同或者相似效果的Github链接,有 ...

  10. mysql启动错误:mysql.sock丢失

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 我的是Cent ...