电吹风厂家
免费服务热线

Free service

hotline

010-00000000
电吹风厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

【消息】剑指Kubernetes揭秘腾讯云的PaaS技术选型策略

发布时间:2020-12-25 21:06:38 阅读: 来源:电吹风厂家

Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔……

虽然,Kubernetes很火,并不代表可以“上手即用”,基于 Kubernetes的容器编排也不是简单的“拿来主义”。在容器圈,除了 Kubernetes,还存在着 Mesos、Swarm等分属不同阵营的容器集群管理工具,以及基于这些工具的多个容器云提供商。

腾讯云在 2016年底决定开发容器产品,随后组建容器技术团队并进行技术选型,通过对不同编排工具的分析对比,最终选择 Kubernetes 作为容器编排引擎,并且迅速在 2017 年初推出容器解决方案 CCS,为用户提供托管 Kubernetes 的一站式服务。

随着业务量的增加,腾讯云容器团队基于 Kubernetes,不停的增加和完善容器监控、日志处理、容器 Registry 等关键特性,来保障用户业务的平稳运行。在整个 2017 年的运营过程中,管理了数千个集群、数十万容器,以及业务高峰期的成倍扩容。

那么,在 16年底,Kubernetes并未大热时,腾讯云为何偏偏在诸多主流的编排引擎当中选择 Kubernetes?腾讯云 Kubernetes架构和资源调度原理是什么样的?在用户托管服务中,又为何采用 Kubernetes来托管用户 Kubernetes集群的 Master?作为国内最大基于 Kubernetes的容器服务提供商,腾讯云在 Kubernetes上还有哪些应用实践…… 本文将带着这些疑问,为你一一揭开腾讯云基于 Kubernetes的 PaaS平台神秘面纱。

2为何选用 Kubernetes?

容器技术无疑是近几年最热门的技术之一,很多公司或者行业已经把容器作为自己的测试环境以及正式环境,正式上跑一些业务。腾讯紧随外界技术发展的潮流,在三年之前,腾讯云的基础平台部门开始容器方面的技术实践,经过三年时间的积累,腾讯云目前已经有很多业务跑在容器平台上。

在最开始的容器产品技术选型阶段,腾讯云也曾对比过 Kubernetes、Docker Swarm、 Mesos:

Kubernetes的核心是如何解决自动部署,扩展和管理容器化(containerized)应用程序。它支持资源调度、服务发现、服务编排、资源逻辑隔离、服务自愈、安全配置管理等。

Mesos是一个分布式内核,核心理念是数据中心操作系统(DCOS),为了解决 IaaS层的网络、计算和存储问题,所以 Mesos的核心是解决物理资源层的问题。它同时支持 Marathon、 Kubernetes 和 Swarm 等多种框架,Mesosphere 也是 Kubernetes 生态的一员。

Swarm:从 Docker1.12版本开始,Swarm随 Docker一起默认安装发布,也由于随 Docker引擎一起发布,无需额外安装,配置简单。它支持服务注册、服务发现,内置 Overlay Network以及 Load Balancer。Swarm是与 Docker CLI非常类似的操作命令,对熟悉 Docker的人非常容易上手学习。

综上来看,每一种工具都有自己的核心理念。

但是,腾讯云最终选择了 Kubernetes, 现在看来这个选择无比正确。 在技术选型上,除了编排引擎自身的核心特性,腾讯云也主要从以下几个方面进行了评估。

注:表格里的材料是当初选型时调研的情况,上述编排工具现在的特性已经有了新变化。

从整个行业来看,业界的技术架构正在大规模向微服务迁移,容器技术天生就是部署微服务的最佳方式,腾讯云拥有海量的业务架构,而 Kubernetes 的使用让部署大规模的微服务更加容易,这也是腾讯云选择 Kubernetes的主要原因,另外腾讯云选择 Kubernetes还考虑了其它优势,如:

出身名门 Google,其开发和设计受到了 Google著名的 Borg系统的影响;

GitHub上关注 Kubernetes项目和提交代码的开发者非常多,社区活跃,如果遇到问题,通过社区咨询和解决 问题速度也会比较快。

Kubernetes可以很好的支持有状态的服务。

Kubernetes 是近 3 年来社区热度最高的项目,Linux 基金会也成立了 CNCF来加强社区运作,不仅对 Kubernetes 进行管理,还对相关项目进行有序的运作,保证了整个技术栈稳定和蓬勃的发展。Kubernetes技术相比Docker swarm和Mesos 学习难度更高,腾讯云为此提供了免费容器实验室, 帮助开发者快速入门学习kubernetes,感性趣的读者可以点击【阅读原文】了解详情。

3腾讯云目前有哪些容器解决方案?

腾讯云 PaaS平台发展至今已有了丰富的容器解决方案, 包括但不限于:腾讯云 Kubernetes托管服务、单容器实例服务、TencentHub服务、Flow Engine服务、CCI持续集成服务等,以及基于 Kuberentes 的 TensorFlow 和 Spark 解决方案,帮助用户在使用容器解决方案的同时进行数据计算和模型训练。

腾讯云 Kubernetes服务:基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的 CBS、CLB 等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题,提高大规模容器集群管理的便捷性,帮助用户降低成本,提高效率。

单容器实例服务:基于 Clear Linux 技术提供的单容器实例解决方案,通过单容器实例服务享受容器的便捷、虚拟机级别的隔离, 像使用虚拟机一样如丝般顺滑的来使用容器,非常试用于通过容器来进行批量计算、通过容器来快速部署个人站点。不依赖 VM的容器在配置和使用时间上更灵活,提供了一种更低成本的计算资源。目前,但容器实例服务正在内测阶段。

TencentHub服务:在云原生应用盛行的今天,仅仅提供 Git 服务或 Container 镜像存储的 Hub 已经无法满足用户在日常开发和运维过程中的种种需求。构造支持多种文件格式、容器镜像格式、编排方案的云原生 Hub 能更好的降低用户的架构向云原生迁移。 TencentHub不仅仅提供一个私有镜像的存储,同时提供了 Helm包、二进制文件等文件存储。

DevOps 产品:DevOps 任务容器化、资源及执行全托管至 Kubernetes、提供给用户一个全生命周期的 Workflow,完成容器构建、测试和部署等 DevOps 流程,支持用户通过界面拖拽定义 Workflow ,支持 Workflow 定义文件导入等功能,和腾讯云已有基础服务和 DevOps 服务打通。核心引擎开源到容器社区,组件库作为配套功能同时开源。

4腾讯云是如何基于 K8S做容器集群的管理?腾讯云容器服务应用编排

Kubernetes原生的方案中,基于服务粒度对系统组件进行管理,支持服务注册发现和路由管理。对于一个服务提供多种不同的资源描述类型,比较常用的有 Deployment、Job、CronJob、Stateful、Daemonset。

腾讯云容器服务参考社区 Helm的实现形式,在容器服务中实现了完整的应用编排管理功能。腾讯云容器服务编排服务主要分为配置管理,应用模板管理,基于应用的服务组管理几个主要部分。

配置管理

配置管理是指将应用中常变的值以变量的形式替代,配置项支持多版本,方便用户进行更新和回滚应用。关于配置管理的实现,腾讯云支持三种实现方式:

Helm的模板文件支持变量渲染

Kubernetes的 ConfigMap中环境变量方式

Kubernetes的 ConfigMap通过 Volume方式进行数据填充

其主要作用包括:

通过提取出多个环境中不同的部分,支持同一套系统在多个环境中部署。

提取出服务中经常变更的部分,实现服务的灵活变更。并且通过配置文件的版本管理,可以很好的对变更进行追溯和回滚。

郑州治疗皮肤病医院

广州治疗老年白癜风正规医院

南京看精神病的医院排名

中国医科大学附属盛京医院预约挂号