云原生全景图之六 | 托管 Kubernetes 和 PaaS 解决什么问题

作者 | Catherine Paganini、Jason Morgan

来源 | K8sMeetup

头图 | 下载于视觉中国

在本系列之前的文章中,我们讨论了 CNCF 云原生全景图的各层:供应层、运行时层、编排管理层以及应用定义和开发层。本文我们将聚焦在平台层。

正如我们在本系列文章中看到的那样,每个类别都解决了特定的问题。仅仅存储并不能提供管理应用程序所需的全部功能,你还需要编排管理、容器运行时、服务发现、网络、API 网关等工具。平台将来自不同层的工具捆绑在一起,以解决更大的问题

平台里其实没有新的工具。你当然可以构建自己的平台,事实上,许多组织都这样做。但是,可靠、安全地配置和微调不同的模块,同时确保始终更新所有技术并修补漏洞,这不是一件容易的事。你需要一支专门的团队来构建和维护它。如果没有所需的专业知识,那么使用平台可能会更好。对于某些组织,尤其是工程团队规模较小的组织,平台是采用云原生技术的唯一方法

你可能已经注意到了,所有的平台都是围绕 Kubernetes 来演化的,因为 Kubernetes 是云原生技术栈的核心。

Kubernetes 发行版

是什么

发行版是指供应商以 Kubernetes 为核心(采用未经修改的开源代码,尽管有些人对其进行了修改),并将其打包以进行重新发行。通常这个过程需要查找和验证 Kubernetes 软件,并提供集群安装和升级的机制。许多 Kubernetes 发行版都包含其他闭源或开源的应用程序。

解决的问题

开源 Kubernetes 并未指定特定的安装工具,而是将许多设置配置选项提供给用户。此外,有限的社区资源(包括社区论坛、StackOverflow、Slack 或 Discord 等)已经不能解决所有的问题。

随着 Kubernetes 的普及,Kubernetes 的使用变得越来越容易,但是查找和使用开源安装程序可能会面临挑战。用户需要了解使用哪个版本,在何处获取,以及特定组件是否能兼容。此外,还需要决定集群上部署什么软件,要使用哪些设置来确保平台的安全性、稳定性和高性能。所有这些都需要丰富的 Kubernetes 专业知识,而这些知识可能并不容易获得。

如何解决

Kubernetes 发行版提供了一种安装 Kubernetes 的可靠方式,并提供了合理的默认值以创建更好、更安全的操作环境。Kubernetes 发行版为供应商和项目提供了所需的掌控度和可预测性,以帮助他们支持客户部署、维护和升级 Kubernetes 集群。

这种可预测性使发行版提供商在客户遇到生产问题时可为其提供支持。发行版常常提供经过测试和受支持的升级路径,使用户的 Kubernetes 集群保持最新的版本。此外,发行版通常提供可在 Kubernetes 上部署的软件,从而使其更易于使用。

对应的工具

如果你已经安装了 Kubernetes,那你可能已经使用了 kubeadm 之类的工具来启动和运行集群。即便如此,你可能还需要 CNI(容器网络接口)来安装和配置它。然后,你可能已经添加了一些存储类,一个处理日志消息的工具,可能还需要个 ingress controller,以及更多其他的工具。Kubernetes 发行版将自动执行部分或全部设置。它还将根据自己对最佳实践或智能默认值的理解提供配置设置。此外,大多数发行版都将捆绑一些经过测试的扩展或附件,以确保用户可以尽快使用新集群。

我们以 Kublr 为例。它以 Kubernetes 为核心,主要捆绑了来自供应层、运行时层、编排管理层的工具。所有模块都预先配置了一些选项并且开箱即用。不同的平台聚焦不同的功能。就 Kublr 而言,重点是在运维方面,而其他平台则可能聚焦在开发工具上。

此类别中有很多工具选项。如下图所示,企业可以选择和供应商达成技术合作,比如国外的 Canonical、VMware、Mirantis、SUSE,国内的网易、火山引擎和京东,它们都可以提供出色的开源和商业工具,建议在评估发行版时仔细考虑自己的需求。

托管 Kubernetes

是什么

托管 Kubernetes 是由 Amazon Web Services(AWS)、DigitalOcean、Azure 或 Google 等基础设施提供商(云厂商)提供的服务,允许客户按需启动 Kubernetes 集群。云厂商负责管理 Kubernetes 集群的一部分,通常称为控制平面。托管 Kubernetes 服务与发行版相似,但由云厂商在其基础架构上进行管理。

解决的问题

托管 Kubernetes 使团队只需在云厂商开设一个账户即可开始使用 Kubernetes。它解决了 Kubernetes 入门五个过程中的“五 W”问题:

  • Who:云厂商;

  • What:他们托管的 Kubernetes 产品;

  • When:现在;

  • Where:云厂商的基础架构上;

  • Why:由你决定。

如何解决

由于 Kuberentes 托管服务提供商负责管理所有细节,因此托管的 Kubernetes 服务是开始云原生之路的最简单方法。用户所需要做的就是开发自己的应用程序并将其部署在托管的 Kubernetes 服务上,这非常方便。托管产品允许用户启动 Kubernetes 集群并立即开始*,同时对集群可用性承担一些责任。值得注意的是,这些服务的额外便利性会造成灵活性的降低:托管的 Kubernetes 服务和云厂商绑定,且用户无法访问 Kubernetes 控制平面,因此某些配置选项会受到限制

*AWS 的 EKS 略有例外,因为它还要求用户采取一些其他步骤来准备集群。

对应的工具

托管 Kubernetes 是由供应商(通常是基础架构托管提供商)提供的按需使用的 Kubernetes 集群,供应商负责配置群集和管理 Kubernetes  控制平面。再次说明,值得注意的例外是 EKS,其上的单个节点配置由客户端决定。

托管 Kubernetes 服务使组织可以将基础架构组件管理外包出去,这样可以快速配置新集群并降低运营风险。主要的权衡取舍在于可能需要为控制平面管理付费,并且用户的管理权限有限。与自己搭建 Kubernetes 群集相比,托管服务在配置 Kubernetes 群集方面有更严格的限制

在这个领域中有许多供应商和项目,在撰写本文时,尚无 CNCF 项目。


Kubernetes 安装程序

是什么

Kubernetes 安装程序可帮助你在机器上安装 Kubernetes,它们可自动化 Kubernetes 的安装和配置过程,甚至可以帮助升级。Kubernetes 安装程序通常与 Kubernetes 发行版或托管 Kubernetes 产品结合使用或由它们使用。

解决的问题

与 Kubernetes 发行版相似,Kubernetes 安装程序可简化 Kubernetes 的上手过程。开源的 Kubernetes 依赖于 kubeadm 之类的安装程序。截至本文撰写之时,kubeadm 可用于启动和运行 Kubernetes 集群,是 CKA(Kubernetes 管理员认证) 测试的一部分。

如何解决

Kubernetes 安装程序简化了 Kubernetes 的安装过程。像发行版一样,它们为源代码和版本提供经过审核的源。它们还经常自带 Kubernetes 环境配置。像 kind (Docker 中的 Kubernetes)这样的 Kubernetes 安装程序允许通过单个命令获得 Kubernetes 集群。

对应的工具

无论是在 Docker 上本地安装 Kubernetes,启动和配置新的虚拟机,还是准备新的物理服务器,都需要一个工具来处理各种 Kubernetes 组件的准备工作。

Kubernetes 安装程序可简化该过程。有些处理节点启动,还有一些仅配置已供应的节点。它们都提供不同程度的自动化,并且适合不同的用例。开始使用 Kubernetes 安装程序时,应先了解自己的需求,然后选择可以满足这些需求的安装程序。在撰写本文时,kubeadm 是 Kubernetes 生态系统中至关重要的工具,已包含在 CKA 测试中。Minikubekindkopskubespray 都是 CNCF 中的 Kubernetes 安装程序项目。

PaaS/容器服务

是什么

PaaS(平台即服务)是一种环境,允许用户运行应用程序而不必了解底层计算资源。此类别中的 PaaS 和容器服务是一种机制,可为开发人员托管 PaaS 或托管他们可以使用的服务。

解决的问题

在本系列文章中,我们讨论了有关“云原生”的工具和技术。PaaS 连接了此领域中的许多技术,可为开发人员提供直接价值。它回答了以下问题:

  • 我如何在各种环境中运行应用程序?

  • 一旦应用程序运行起来,我的团队和用户将如何与它们交互?

如何解决

PaaS 为组合运行应用程序所需的开源和闭源工具提供了选择。许多 PaaS 产品包含处理 PaaS 安装和升级的工具,以及将应用程序代码转换为正在运行的应用程序的机制。此外,PaaS 可以处理应用程序实例的运行时需求,包括按需扩展单个组件以及可视化单个应用程序的性能和日志消息

对应的工具

组织正在采用云原生技术来实现特定的业务或目标。与构建自定义应用程序平台相比,PaaS 可快速让组织实现价值。HerokuCloud Foundry Application Runtime 之类的工具可帮助组织快速启动并运行新的应用程序,它们可提供运行云原生应用程序所需的工具。任何 PaaS 都有自身的限制。大多数只支持一种语言或一部分应用程序类型,其自带的一些工具选项可能并不适合你的需求。无状态应用程序通常在 PaaS 中表现出色,而数据库等有状态应用程序通常不太适合 PaaS。目前在这个领域没有 CNCF 项目,但是大多数产品都是开源的。

总结

如文中所介绍,有多种工具可帮助简化 Kubernetes 的采用。Kubernetes 发行版、托管 Kubernetes 服务、Kubernetes 安装程序以及 PaaS 都承担了一些安装和配置的工作,可进行预打包。每个解决方案都有其自己的特点。

在采用上述任何一种方法之前,需要进行一些研究,以确定适合自己需求的最佳解决方案。你可能需要考虑:

  • 我会遇到一些需要掌控控制平面的场景吗?如果有,托管解决方案可能不是一个很好的选择。

  • 我有没有一个小型团队来管理“标准”工作负载,并需要分流尽可能多的操作任务?如果有,托管解决方案可能非常合适你。

  • 便携性对我来说重要吗?

  • 生产就绪情况如何?

还有更多问题需要考虑。没有一个“最佳工具”,但是对于你的特定需求,肯定可以选择一个有效工具。希望本文能帮助你将搜索范围缩小到正确的区域。

关于云原生,我们还有:

云原生全景图之五:应用程序定义和开发层

云原生全景图之四:编排和管理层

三探云原生全景图,这次聊聊运行时层

俯瞰云原生,这便是供应层

都在说云原生,它的技术图谱你真的了解吗?

2020-2021中国开发者调查报告重磅来袭,直接扫码或微信搜索「CSDN」公众号,后台回复关键词「开发者」,快速获取完整的报告内容!


更多精彩推荐
☞实战 | Service Mesh 微服务架构实现服务间 gRPC 通信☞Kubernetes 稳定性保障手册 -- 可观测性专题☞走过 30 年:银行数据库的下一步是国产化
点分享点收藏点点赞点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

报告:5G 网络切片可能会给不法分子留下漏洞!

责编 | 寇雪芹头图 | 下载于视觉中国据爱尔兰安全公司 AdaptiveMobile Security 的一份报告显示,由于缺乏传输层与应用层之间的映射关系,因此结合了传统技术的 5G 网络可能更容易受到威胁。网络切片对于实现5G的许多功能至关重要。网络切片(N…

独家下载!小程序Serverless云上开发一站到底

阿里云小程序Serverless 提供包括云函数、数据存储、文件存储等一整套后端服务。开发者通过API 方式即可获取云函数、数据存储、文件存储、音视频、图像处理等服务,不需要关心服务器或底层运维设施,可以更专注于代码和业务本身。 《小程序Serverless 云…

Gartner发布云产品评估报告:阿里云计算能力全球第一

简介: 92.3% 得分率,阿里拿下计算类厂商全球第一。 8月17日消息,国际知名咨询机构Gartner发布了最新云厂商产品评估报告,作为国内唯一入选的云厂商,阿里云在计算大类中,以92.3%的高得分率拿下全球第一&…

携程赴港二次上市在即 “旅游营销枢纽”战略助价值重估

携程董事局主席梁建章发布“旅游营销枢纽战略”4月7日,携程集团有限公司正式启动香港公开发售计划。在赴港二次上市前夕,包括国盛证券、广发证券在内的多家券商公司维持对携程股票“买入”的评级,最新发布的“旅游营销枢纽”战略也将为携程的…

RuoYi-Vue Spring Security 配置介绍

文章目录核心配置类方法注解开关自定义认证规则自定义获取用户详情自定义注解实现匿名访问自定义验证异常处理类自定义登出逻辑流程自定义JWT拦截器核心配置类 核心配置文件 com.ruoyi.framework.config.SecurityConfig.java 方法注解开关 开启全局方法权限配置&#xff0c…

一个易用、易部署的Python遗传算法库

简介: # [scikit-opt](https://github.com/guofei9987/scikit-opt) [![PyPI](https://img.shields.io/pypi/v/scikit-opt)](https://pypi.org/project/scikit-opt/) [![release](https://img.shields.io/github/v/relea scikit-opt 一个封装了7种启发式算法的 Pyth…

如何部署一个Kubernetes集群

来源 | 无敌码农责编 | 寇雪芹头图 | 下载于视觉中国在上一篇文章《Kubernetes和Docker的关系是什么?》中,和大家分享了关于Kubernetes的基本系统架构以及关于容器编排相关的概念,并总体阐述Kubernetes与Docker之间的基本关系。而要学习Kuber…

KubeCon 2020 演讲集锦|《阿里巴巴云原生技术与实践 13 讲》开放下载

2020 年 7 月 30 日至 8 月 1 日,由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 Cloud Native Open Source Virtual Summit China 2020 首次于线上召开。 阿里巴巴在大会上为全球企业和开发者分享了 27 场实践经验、行业趋势和技术演讲&…

RuoYi-Vue Spring Security 密码加密

文章目录一、密码加密配置二、密码匹配~具体使用三、密码加密~具体使用一、密码加密配置 默认密码加密 encode密码加密和matches密码校验 二、密码匹配~具体使用 在登录接口进行用户名密码的验证 抽象方法 进入抽象方法 密码验证(明文密码和数据库一打包密已加…

限免下载!揭秘你不知道的计算机“进化论”

计算机的发展,除了ENIAC,你还知道什么? 是不是有点卡顿! 没关系,你只会更卡顿,因为下面的这些你可能从未听说: 你知道程序员的“开山鼻祖”是女性吗?你知道“ENIAC”专利曾经被盗吗…

吴文俊人工智能科学技术奖十周年颁奖盛典揭晓,100个项目成果摘得中国智能科学技术奖励最高殊荣

2021年4月10日上午,北京春意盎然,荣耀绽放。我国智能科学技术最高奖“吴文俊人工智能科学技术奖”十周年颁奖盛典在此揭晓。军事科学院系统工程研究院研究员、中国工程院院士李德毅在计算机工程、自动控制、认知科学和无人驾驶等人工智能领域取得多项国际…

RuoYi-Vue Spring Security 登录配置

文章目录自定义用户信息登录接口入口调用loadUserByUsername方法重写实现逻辑自定义配置实现UserDetails接口自定义用户信息 登录接口入口 调用loadUserByUsername方法 重写实现逻辑 咱们自己实现了org.springframework.security.core.userdetails.UserDetailsService类重写lo…

5G专网为“江南皮革厂”带来了什么?

简介: 今年6月底,通信领域迎来了一个重磅消息,负责制定5G通信标准的国际组织3GPP公布了Release 16的5G标准,这也是5G的第二版标准。如果说5G的第一版标准Release 15主要面向的是消费者市场,那么5G的第二版标准则是将5G…

点货网 x mPaaS | 仅 2 位 Java 开发,使用小程序上线一款 App

简介: Java “司机”上路指南 一次真正意义上的低成本技术架构升级。 项目背景 衡东点货网是根据物流行业发展趋势及国家政策引导开发的网络货运平台,其主要功能承载“车货信息发布、匹配、运费支付与发放、信用管理等”。 而关于项目的开发人员组成&a…

docker 构建企业级GitLab代码仓库

文章目录一、创建gitlab容器1. 创建挂载目录2. 运行docker容器3. 停止gitlab容器二、修改配置2.1. 访问仓库地址2.2. 核心配置2.3. 启动gitlab容器2.4. 关闭防火墙2.5. 修改密码2.6. 登录三、本地项目上传远程仓库3.1. 创建项目3.2. IDEA下载Gitlab插件3.3. 创建本地仓库3.4. 代…

发掘 CPU 与超级工厂的共性,程序员的心思你别猜

来源 | 码农的荒岛求生责编 | 寇雪芹头图 | 下载于ICphoto18世纪流水线的诞生带来了制造技术的变革,人类当今拥有琳琅满目物美价廉的商品和流水线技术的发明密不可分,因此当你喝着可乐、吹着空调、坐在特斯拉里拿着智能手机刷这篇文章时需要感谢流水线技…

2020-08-24

AB Testing在软体工程领域是一个耳熟能详的词,大家都知道AB Test的重要性。当产品经理提出的需求不合里(太难做)时,程序员们心理总是os,你怎么知道客户到底要什么,不也是拍脑袋想的吗,这时候我们…

阿里云飞天大数据产品价值解读——《一站式高质量搜索开放搜索》

一、如何评估搜索质量、体验与业务价值 1.搜索-无处不在 生活中多种不同场景需要进行搜索,在企业内部产品中也需要使用多种搜索功能,方便用户快捷地获取企业相关商品、服务、内容等信息。搜索在不同的企业业务中的角色可能有所不同。如下图所示&#xf…

docker 构建企业级Maven私服仓库 nexus3

文章目录一、环境准备1. 安装docker2. 启动docker3. 拉取镜像4. 目录权限5. 创建容器6. 监控日志二、登录配置2.1. 效果验证2.2. 登录2.3. 初始化三、仓库配置3.1. 创建仓库3.2. 创建用户3.3. 补充知识点四、本地项目部署jar到私服4.1. 配置用户4.2. 添加远程仓库配置4.3. 发布…

淘宝直播三大核心技术揭秘

背景-全民直播大时代 在疫情的影响下,直播从传统的秀场应用逐渐渗透到行业的各个领域。包括在线课堂,旅游,政企,房车销售等等,可以说是全民直播时代已经到来。 在这样的一个大背景下,过去一年淘宝直播得以快…