云原生技术

作者系HCIE-Cloud Service Solutions Architect No.28901,现于本平台分享学习云服务时的笔记,期望能助力更多人了解云服务并考取相关证书。当然,笔记中难免存在错误,还望大家不吝指正,感谢!

目录

云原生技术

一、云原生的概念与背景

1. 企业IT数字化转型的“三阶段两转变”

2. 什么是云原生

3. 云原生2.0

二、开源容器技术介绍

1. 容器技术介绍

2. 关键技术介绍

3. Kata Containers介绍

4. Docker容器典型使用流程​编辑

5. Kubernetes

三、华为云容器服务介绍

1. 云容器引擎CCE

2. 云原生网络2.0

3. CCE容器存储

4. 容器镜像服务SWR

5. CCE适用场景

6. 云容器实例CCI

7. 应用编排服务AOS

8. 多云容器平台MCP

9. 云原生服务中心OSC

四、Serverless概述

1. Serverless的定义

2. Serverless价值

3. 华为Serverless服务—FunctionGraph

4. 统一插件支持云上和云下的开发与调试

5. 适用场景


关于云原生技术的简单介绍:

云原生技术并不是一个具体的技术,而是多种技术的合集

一、云原生的概念与背景

1. 企业IT数字化转型的“三阶段两转变”

阶段1:服务器(以“设备”为中心) -转变1:资源自动化> 阶段2:云化(以“资源”为中心) -转变2:应用自动化> 阶段3:云原生化(以“应用”为中心)

2. 什么是云原生

云原生基因会(CNCF)对云原生的定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和允许可弹性扩展的应用

云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API(接口)

这些技术能构建容错性好、易于管理、便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更

3. 云原生2.0

云原生1.0 (业务搬迁上云 On Cloud) -> 云原生2.0 (业务生于云、长于云 In Cloud)

(1)云原生2.0的优势

①资源高效:可感知应用的智能化调度(AS:根据策略被动伸缩)

②应用敏捷:通过DevSecOps实现应用敏捷开发

③业务智能:结合数据和AI

④安全可信

(2)云原生2.0十大架构模式

①分布式云

②应用驱动基础设施

③混合部署与统一调度

④存算分离

⑤数据治理自动化:一键数据入湖

⑥可信、平民化DevOps:低码无码化

⑦无服务器化Serverless

⑧基于软总线的异构集成

⑨多模态可迭代行业AI

⑩全方位立体化安全

(3)云原生2.0架构全景

二、开源容器技术介绍

1. 容器技术介绍

(1)容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源

Docker技术,将软件的交付像集装箱运输一样标准化,统一了纷乱的云计算PaaS技术

(2)Docker主导的容器技术标准组织OCI成立,确立了业界公认的容器引擎技术的标准

Docker只是容器中的一种

2. 关键技术介绍

(1)Docker几项关键技术

①Namespace:将内核的全局资源进行封装,使得每个Namespace有独立的资源

②Cgroup:限制一个进程组对系统资源的使用上限,避免容器间资源抢占和冲突

③Union Filesystem:一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来叠加,是容器镜像的基础

(2)Docker容器主要概念

①镜像:包含已打包的应用程序及其所依赖的环境

②镜像仓库:用于存放Docker镜像的仓库

③容器:从镜像创建的运行实例

Docker Daemon:后台的系统进程,Containerd:中间交流组织,Containerd-shim:真实运行容器的载体,RunC:命令行工具—OCI标准格式

3. Kata Containers介绍

通过轻量型虚拟化技术构建一个安全的容器运行时,表现像容器一样,但通过硬件虚拟化技术提供强隔离,作为第二层的安全防护

不需要经过中间软件化层虚拟,在操作系统之上虚拟容器,Docker在引擎里做虚拟化

Kata Containers的特点:

①安全:独立的内核,提供网络、I/O、内存的隔离

②兼容性:支持OCI容器标准,k8s的CRI接口

③性能:兼容虚拟机的安全和容器的轻量特点

④简单:使用标准的接口

4. Docker容器典型使用流程

5. Kubernetes

是Google根据15年大规模集群管理经验积累结合Docker技术向业界开源的容器编排管理技术,是容器技术事实上的行业标准

Kubernetes分为“主控节点/Master”(管理,单节点1个/高可用3个)和“业务节点/Node”(计算)

(1)资源探测

Kubernetes环境中,可以通过探针进行状态检查,以确保每个Pod的运行状态,其中探针分为了存活探针就绪探针启动探针

Master中DaemonSet确保全部或某些节点上运行一个Pod的副本。当有节点加入集群时,也会为它们新增一个Pod。当有节点从集群移除时,这些Pod会被回收,如果节点异常,也不会在其他节点重新创建

(2)资源调度

Deployment:Kubernetes提供了Controllar(控制器)管理Pod,而最常用为Deployment

StatefulSet:在分布式场景要求Pod都有自己独立的状态

(3)资源配置

ConfigMap:用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件(适用于解决配置文件的存储问题)

Secret:一种加密存储的资源对象,用于解决密码、token、密钥等敏感数据

(4)Kubernetes网络

(5)Kubernetes网络—Service

Service:这样前台Pod无需感知后台Pod的变化,而且通过Service也可以为Pod做负载均衡

Ingress:可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做更细粒度划分。而Service是基于四层TCP和UDP协议转发的

(6)持久化存储

三、华为云容器服务介绍

1. 云容器引擎CCE

(1)CCE的介绍

提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器,是一种托管的Kubernetes服务

(2)CCE的特点

①丰富的异构算力支持

②高性能云原生网络:云原生2.0网络,网络直通模式,资源零损

③全面安全的云原生能力

④统一的大规模云原生调度

(3)CCE节点

CCE创建的Kubernetes集群包含master节点node节点,一般节点指的是node节点,可以是虚拟机也可以是物理机

节点池:是集群中具有相同配置的一组节点,一个节点池包含一个节点或多个节点(无法单独配置其中一个节点)

(4)集群网络构成

①节点网络:Node

②容器网络:Pod,不为容器分配独立IP地址

③服务网络:Service,映射到容器

2. 云原生网络2.0

深度整合了VPC的弹性网卡ENI辅助弹性网卡Sub-ENI的能力,直接从VPC网段内分配容器IP地址,支持ELB直通容器,绑定安全组和弹性公网IP

在同一个VPC的一个集群中节点:

①BMS:Pod使用ENI网卡   ②ECS:Pod使用Sub-ENI网卡,通过VLAN子接口挂载在ENI上

提醒:节点内/跨节点Pod间通信,直接通过VPC的弹性网卡/弹性辅助网卡进行流量转发 -> 虚拟交换机

VSM:软件模拟真实的交换机,利用物理网卡功能,有资源损耗

3. CCE容器存储

支持本地磁盘存储、云硬盘存储卷、文件存储卷、对象存储卷、极速文件存储卷、快照与备份

4. 容器镜像服务SWR

支持容器镜像全生命周期管理的服务,提供简单易用、安全、可靠的镜像管理功能,帮助用户快速部署容器化服务

SWR功能特点:

(1)由华为云提供的容器镜像托管

(2)支持多版本镜像的完整生命周期管理

(3)目前是免费服务,包括免费存储和流量

(4)兼容Docker Hub,可直接用docker命令控制

(5)和CCE服务整合

(6)支持事件触发器,与函数结合使用

5. CCE适用场景

(1)传统IT渐进式转型

(2)提升业务上线效率:保证业务运行环境一致性,业务开箱即用

(3)节省资源降低成本:更细粒度

(4)业务持续稳定可靠:自动弹性伸缩

6. 云容器实例CCI

提供Serverless Container(无服务器容器)引擎,让用户无需创建和管理服务器集群即可直接运行容器

(1)多集群统一管理,容器负载统一调度(使用kata容器)

①高安全

②极速弹性:秒级弹性伸缩能力

③免运维

(2)CCI适用场景

①AI训练推理场景

②基因测序、生物医药场景

7. 应用编排服务AOS

为企业提供应用上云的自动化能力,支持编排华为云上的主流云服务,实现在华为云上一键式的应用创建及云服务资源开通,提供高效的一键式云上应用复制和迁移能力

 AOS模板是一种用户可读、易于编写的文本文件。用户可以直接编辑YAMLJSON格式文本

8. 多云容器平台MCP

(1)统一集群管理(华为云、云下、其他云)

(2)全局应用管理

(3)跨集群应用治理

(4)跨集群服务发现

(5)跨集群弹性伸缩

(6)原生API开放

9. 云原生服务中心OSC

是面向服务提供商和服务使用者的云原生服务生命周期治理平台,提供大量开箱即用的云原生服务,支持服务的开发、发布、订阅、部署、升级、更新等,帮助用户简化云原生服务的生命周期管理

OSC两大用户角色:

(1)服务提供商:在云市场完成服务发布

(2)服务使用者:可订阅和使用服务

四、Serverless概述

1. Serverless的定义

CNCF定义:Serverless计算是指构建和运行不需要服务器管理的应用程序

维基百科定义:终端用户不需要部署、配置或管理服务器服务

(1)Serverless有BaaS(区块链)和FaaS两种形态

(2)Serverless是云上一整套能力的合集,而不是单一的云服务产品(Serverless服务:CCI、函数)

2. Serverless价值

(1)快:秒级快速上线;毫秒级弹性伸缩,天然高可用

(2)简:极低的运维需求;函数代码即服务

(3)省:按实际使用可以以毫秒级计费

3. 华为Serverless服务—FunctionGraph

基于事件驱动的函数托管计算服务

(1)支持触发器:APIG、LTS、Kafka、OBS、SMN、DDS

(2)函数开发工具:CloudIDE、CI/CD、CLI

4. 统一插件支持云上和云下的开发与调试

云上:CloudIDE

云下:VSCode插件

5. 适用场景

(1)Web类应用:小程序后端、Web后端、问答机器人、前端BFF、微服务应用

(2)事件驱动类应用:实时图片处理、实时数据流处理、IoT事件处理、运维告警处理

(3)AI类应用:视频直播、AI推理、人像识别、车牌识别

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐