前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开篇——初识云原生

开篇——初识云原生

作者头像
张申傲
发布2022-09-28 09:01:55
3030
发布2022-09-28 09:01:55
举报

开篇——初识云原生

作为云原生专栏的开篇,本节不会介绍具体的技术,而是先浅谈下我自己对于云原生的一些体感。

从云计算说起

云的本质就是对计算资源的抽象,对使用者屏蔽底层硬件的细节。 传统的云计算如典型的 OpenStack 等,是建立在虚拟化的技术之上的,其中的关键就是 Hypervisor,即在一台真实的物理机上,可以运行多个虚拟机操作系统,多个虚拟机共享物理机的硬件资源。

在这里插入图片描述
在这里插入图片描述

但是这种方案在大规模的服务集群下就会存在一些问题,例如:

  • 资源利用率低:每个虚拟操作系统都需要消耗宿主机的资源,如 CPU、内存、网络带宽等,使得每台宿主机上可以搭建的虚拟机是有限的,无法实现规模化。
  • 维护和问题排查困难:一旦虚拟机上的应用出现问题,涉及到的排查路径可能是虚拟机应用->虚拟机操作系统->物理机应用->物理机操作系统->物理机硬件资源,导致问题排查的效率较低。

什么是云原生

为了解决传统云计算领域的问题,容器化技术逐渐大放异彩,并推动云原生的快速发展。

简单来说,云原生指的是在包括公有云、私有云、混合云等动态环境中构建和运行规模化应用的能力。 这里面涉及几个关键点:

  • 云原生鼓励混合云部署: 这也是目前很多互联网大厂所采用的方式,即同时选择几家公有云,并且在企业内部也搭建私有云,将不同的业务部署在不同的云环境上,以达到冗余和容灾的目的。
  • 云原生强调动态环境: 利用云原生的弹性调度能力,应用可以实现资源的动态扩缩容和环境的快速切换。
  • 云原生可以实现规模化: 基于云原生的容器化、弹性调度、服务治理等等技术手段,可以实现服务的大规模快速部署,解决了传统云计算的问题。

可以看出,云原生并不是某一项具体的技术,而是一种思想,是技术、业务和企业管理方法的集合。其中涉及到多种设计思想和技术手段,包括但不限于:

  • 应用容器化封装:基于操作系统的 cgroup、namespace 等技术,对应用进行容器化封装,解决了传统基于虚拟化云计算中的资源利用率、应用隔离等问题。
  • 服务网格:最近大火的 Service Mesh 技术和其中的佼佼者 Istio,使得微服务治理、可观测性等等问题得到了很好的解决。
  • 声明式 API:Kubernetes 致力于推动云原生的标准化,对各种技术都制定了标准化的 API,接口与实现分离

基于上述的设计思想和技术手段,云原生的意义在于:

  • 提升系统的可用性、可管理性、可观察性。
  • 使工程师能以最小成本进行频繁和可预测的系统变更。
  • 提升速度和效率,助力业务成长,缩短 I2M(Idea to Market)。

核心项目概览

CNCF 官网,我们可以看到云原生技术栈的 Landscape,几乎大多数主流的框架和中间件都和云原生有或多或少的关联。

在这里插入图片描述
在这里插入图片描述

我们不可能每个项目都去学习,下面我简单梳理一下其中最核心的技术:

在这里插入图片描述
在这里插入图片描述
  • Core Control Plane 核心控制平面:这一层最核心的就是 Kubernetes,它可以实现集群管理、容器编排、资源调度、服务发现等功能,是整个云原生体系的基石。 再结合 gRPC 作为轻量级网络通信,和 etcd 作为持久化存储,核心控制层就搭建完成了。
  • Runtime Management 运行时管理:有了核心控制层,下一步我们需要做的就是在此基础上运行服务。运行时管理最重要的就是三个要素:计算、存储和网络。 Kubernetes 基于声明式 API,对每一项都进行了标准化的 API 抽象,分别对应了 containerd、CSI 和 CNI。
  • Service Discovery 服务发现:服务运行之后,就涉及到服务治理相关的工作,包括服务发现、负载均衡、路由策略、动态权重、鉴权等等,这些功能都可以基于 Istio 的 ServiceMesh 技术轻松实现。
  • Image Registry 镜像管理:镜像就是对服务所需资源的描述。 通过 Harbor 镜像仓库,我们可以实现服务镜像的可复用、可重现、可管理、可追溯。
  • CI/CD:云原生技术整合了 Jenkins、Helm、Tekton,可以快速搭建项目持续部署、持续集成和生命周期管理平台。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开篇——初识云原生
    • 从云计算说起
      • 什么是云原生
        • 核心项目概览
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档