华为云CCE/Kubernetes云原生技术体系 --- 总学习笔记
一、整体概述
本总笔记汇总了5份华为云技术培训文档的学习笔记,涵盖从云原生基础概念到华为云CCE实战操作的完整知识体系。这5份文档构成了一条由浅入深、从理论到实践的学习路径:
| 序号 | 文档名称 | 知识层级 | 核心主题 |
|---|---|---|---|
| 1 | 云原生基础设施之容器入门 | 基础理论 | 云原生概念、容器基础技术(Docker/镜像/Dockerfile) |
| 2 | 云原生基础设施之容器进阶 | 进阶理论 | 云原生应用架构、容器资源管理(Namespace/Cgroups)、容器网络与存储、华为云云原生解决方案 |
| 3 | 云容器快速搭建网站 | 入门实践 | 容器与Docker技术、CCE云容器引擎、WordPress建站实战 |
| 4 | 基于CCE的Kubernetes编排实战 | 核心技术 | Kubernetes架构与核心概念、应用编排(Deployment/StatefulSet/DaemonSet/Job) |
| 5 | 基于CCE的Kubernetes网络与持久化存储实战 | 高阶实践 | Kubernetes网络(Service/Ingress)、存储管理(Volume/PV/PVC/ConfigMap/Secret)、CCE实战 |
知识体系定位:这5份文档覆盖了"概念→技术→平台→编排→网络存储"的完整云原生技术栈,以华为云CCE为实践平台,以Kubernetes为编排核心,构建了从入门到精通的系统化学习路径。
二、知识体系框架
2.1 华为云CCE/Kubernetes技术栈全景
scss
┌─────────────────────────────────────────────────────────────────┐
│ 应用层(业务应用) │
│ WordPress / 微服务 / AI训练 / 大数据任务 │
├─────────────────────────────────────────────────────────────────┤
│ 编排调度层(Kubernetes) │
│ ┌──────────┬──────────┬──────────┬──────────┐ │
│ │Deployment│StatefulSet│DaemonSet │Job/CronJob│ │
│ └──────────┴──────────┴──────────┴──────────┘ │
│ Service(ClusterIP/NodePort/LB/Ingress) · Label · Namespace │
├─────────────────────────────────────────────────────────────────┤
│ 容器运行时层(CRI) │
│ Docker · runC · containerd · iSula(华为自研) │
├─────────────────────────────────────────────────────────────────┤
│ 网络层(CNI) │ 存储层(CSI) │
│ Flannel · Overlay/Underlay │ EVS · OBS · SFS · CSI-Disk │
│ Yangtse(华为自研) │ Everest(华为自研) │
├─────────────────────────────────────────────────────────────────┤
│ 基础设施层(华为云IaaS) │
│ ECS/BMS(鲲鹏/昇腾/GPU) · VPC/EIP/ELB · 擎天架构 │
└─────────────────────────────────────────────────────────────────┘
2.2 知识层级递进关系
scss
第一层:云原生概念与容器基础
├── 云计算演进历程(虚拟化→IaaS→PaaS→容器→云原生)
├── CNCF云原生定义(容器/服务网格/微服务/不可变基础设施/声明式API)
├── 容器vs虚拟机(轻量级/共享内核/秒级启动/进程级隔离)
└── Docker三要素(镜像/容器/仓库)+ 关键技术(UnionFS/Copy-on-Write/Dockerfile)
│
▼
第二层:容器进阶与资源管理
├── 云原生应用12要素 + 架构原则(弹性/分布式/高可用/自动化/自服务)
├── 容器隔离技术:Namespace(6种类型)+ Cgroups(CPU/内存/BlockIO限制)
├── 容器网络:5种Docker网络驱动 + User-defined网络
├── 容器存储:Volume + Bind mount + Tmpfs mount
└── 华为云云原生解决方案(擎天架构/MCP/ASM/IEF/DevSecOps/CSE)
│
▼
第三层:CCE平台与容器编排
├── Kubernetes起源(Google Borg→CNCF→事实标准)
├── K8s架构:Master(apiserver/scheduler/etcd/controller-manager) + Node(kubelet/kube-proxy/runtime)
├── K8s核心概念:Pod/Controller/Label/Namespace/Service/Volume
├── 四种工作负载:Deployment/StatefulSet/DaemonSet/Job-CronJob
└── 华为云CCE:异构算力/高性能网络/安全能力/Volcano调度
│
▼
第四层:Kubernetes网络与存储
├── Service服务发现:ClusterIP/NodePort/LoadBalancer/Ingress
├── 存储体系:emptyDir/hostPath/ConfigMap/Secret/PV-PVC-SC
├── CRI/CNI/CSI三大开放接口
└── CCE实战:网络通信/服务发现/存储操作/StatefulSet
三、各文档核心要点汇总
3.1 文档一:云原生基础设施之容器入门
核心知识点:
| 知识域 | 要点 |
|---|---|
| 云计算演进 | 服务器→虚拟机→容器(不可变基础设施);2000年VMware→2011年Docker→2013年Cloud Native |
| CNCF云原生定义 | 容器+服务网格+微服务+不可变基础设施+声明式API;特征:可弹性/可管理/可观察/自动化/容错 |
| 容器vs虚拟机 | 容器共享内核、秒级启动、进程级隔离、单机1000+容器;虚拟机不共享内核、系统级隔离、单机<100台 |
| OCI规范 | runtime spec + image format spec,保证容器生态兼容性 |
| 容器Runtime | runC、rkt(OCI标准);Kata、gVisor(基于虚拟化的安全容器) |
| Docker三要素 | 镜像(只读模板)→ 容器(运行实例)→ 仓库(存储分发) |
| 镜像技术 | 分层结构(UnionFS联合挂载)+ Copy-on-Write(修改时复制到容器层) |
| Dockerfile | FROM/MAINTAINER/RUN/ADD/COPY/ENV/EXPOSE/CMD/ENTRYPOINT等指令构建镜像 |
| Registry | 公有(Docker Hub/Quay.io)+ 私有(自建/华为云SWR) |
| 容器生命周期 | created→running→paused→exited;docker run/stop/start/pause/unpause/rm |
关键命令速查:
bash
docker build -t <name> . # 构建镜像
docker run -d -p 8080:80 <image> # 运行容器
docker push <image> # 上传镜像
docker exec -it <id> /bin/bash # 进入容器
3.2 文档二:云原生基础设施之容器进阶
核心知识点:
| 知识域 | 要点 |
|---|---|
| 云原生应用12要素 | 基准代码/依赖/配置/后端服务/构建发布运行/进程/端口绑定/并发/易处理/环境等价/日志/管理进程 |
| 架构五大原则 | 弹性(无状态+自动伸缩)、分布式(解耦+去中心)、高可用(反脆弱+自愈)、自动化、自服务 |
| 架构演进 | 单体→微服务→Serverless:粒度越来越细,运维越来越简化 |
| Namespace(隔离) | PID/Mount/Network/User/UTS/IPC共6种,实现进程级资源隔离视图 |
| Cgroups(限制) | 限制CPU/内存/BlockIO;-m内存限额、--cpu-sharesCPU权重、--blkio-weightIO优先级 |
| Docker网络 | 5种驱动:None/Host/Bridge(默认)/Overlay(跨主机)/Macvlan;User-defined网络可自定义子网 |
| 容器存储 | Volume(Docker管理)、Bind mount(宿主机目录挂载)、Tmpfs mount(内存存储) |
| 华为云擎天架构 | iSula容器引擎(省30M内存)+ Yangtse网络(PPS提升2倍)+ Everest存储(性能提升40%) |
| 华为云云原生服务 | CCE Turbo/CCI/SWR/ASM/IEF/MCP/CSE + DevSecOps安全体系 + 全栈立体运维 |
| 发展趋势 | K8s编排统一化、服务治理Mesh化、应用Serverless化、部署形态多元化 |
关键参数速查:
bash
docker run -m 200M --memory-swap=300M <image> # 内存限制
docker run --cpu-shares 2048 <image> # CPU权重
docker run --network=host <image> # 网络模式
docker run -v ~/htdocs:/usr/local/apache2/htdocs <image> # 数据卷挂载
3.3 文档三:云容器快速搭建网站
核心知识点:
| 知识域 | 要点 |
|---|---|
| 容器发展史 | 1979年Chroot→2006年Cgroups→2008年LXC→2013年Docker→2016年Windows容器 |
| 容器类比 | 物理集装箱:标准化打包/多样底层平台/隔离性/自动化/高效性/职责分工 |
| Docker架构 | Client + Host(Daemon) + Images + Container + Registry |
| Build/Ship/Run | Build(分层镜像打包)→Ship(上传仓库)→Run(cgroup+namespace隔离运行) |
| 容器编排必要性 | 单机Docker无法满足跨主机部署/调度/伸缩/高可用需求 |
| K8s成为标准 | 2017年Docker宣布支持K8s,结束Mesos/Swarm/K8s多国混战 |
| CCE能力矩阵 | 开源原生平台 + 商业增强(HA/自动伸缩/安全) + IaaS深度整合(ECS/BMS/VPC/EVS) |
| CCE关键特性 | 一站式部署运维/灵活弹性伸缩/IaaS深度整合/DevOps/兼容原生K8s/丰富调度/高可用 |
| CCE应用场景 | 传统IT渐进转型/提升上线效率/应对负荷波动/节省资源降成本 |
| WordPress建站 | 6步流程:RDS创建→CCE集群创建→工作负载创建→访问应用→弹性伸缩 |
建站流程:
yaml
Step1: 资源/环境准备 → Step2: 创建RDS数据库 → Step3: 创建CCE集群并添加节点
→ Step4: 创建WordPress工作负载 → Step5: 访问WordPress应用 → Step6: 弹性伸缩
3.4 文档四:基于CCE的Kubernetes编排实战
核心知识点:
| 知识域 | 要点 |
|---|---|
| K8s起源 | 源于Google Borg项目,Go语言实现,2015年v1.0发布,CNCF首个项目 |
| K8s架构 | Master(apiserver/scheduler/etcd/controller-manager) + Node(kubelet/kube-proxy/runtime) |
| Pod | K8s最小工作单元,包含1+容器,共享网络Namespace和存储,localhost通信 |
| Controller | 管理Pod副本/滚动升级/自愈;四大类型:Deployment/StatefulSet/DaemonSet/Job |
| Label/Namespace | Label分类资源,Namespace隔离多租户,ResourceQuota限制资源 |
| Service | Pod逻辑集合+访问策略,解决Pod IP动态变化问题,提供负载均衡 |
| Volume | 声明容器可访问文件目录,支持多种后端存储 |
| kubectl | 指令式(create/scale/delete) + 声明式(apply -f yaml) |
| Deployment | 无状态工作负载,RollingUpdate/Recreate升级策略,基于ReplicaSet实现回滚 |
| StatefulSet | 有状态工作负载,固定Pod名称+Headless Service+PVC三重保障 |
| DaemonSet | 守护进程,每节点运行一个Pod,适合日志收集/监控 |
| Job/CronJob | 批处理/定时批处理,支持并发/重试/暂停恢复 |
| CCE使用 | 三种方式:控制台(GUI)/kubectl(CLI)/K8s API;CloudShell或Kubectl客户端连接 |
管理逻辑层级: 容器 < Pod < ReplicaSet < Deployment
四种工作负载对比:
| 类型 | 状态 | Pod特征 | 典型场景 |
|---|---|---|---|
| Deployment | 无状态 | 等价可替换 | Web Server |
| StatefulSet | 有状态 | 固定名称+固定PVC | 数据库集群 |
| DaemonSet | 守护进程 | 每节点一个 | 日志收集/监控 |
| Job/CronJob | 批处理 | 任务完成自动退出 | AI训练/数据分析 |
3.5 文档五:基于CCE的Kubernetes网络与持久化存储实战
核心知识点:
| 知识域 | 要点 |
|---|---|
| CRI/CNI/CSI | 三大开放接口:计算/网络/存储,使K8s具备极强可扩展性 |
| Service类型 | ClusterIP(集群内) / NodePort(节点暴露) / LoadBalancer(公网LB) / Ingress(七层路由) |
| Service机制 | 通过Label Selector关联Pod,Endpoints显示关联Pod地址,提供稳定访问入口 |
| Ingress | 七层HTTP/HTTPS转发,基于域名和路径路由,Ingress Controller执行规则 |
| Volume类型 | emptyDir(临时) / hostPath(主机路径) / ConfigMap(配置) / Secret(加密) / PVC(持久化) |
| emptyDir | Pod创建时生成空目录,Pod删除时数据永久删除,容器间共享文件 |
| hostPath | 挂载主机节点文件系统,适合访问Docker内部文件/cAdvisor等 |
| ConfigMap | 配置文件管理,实现image与配置解耦,支持环境变量和Volume引用 |
| Secret | 敏感信息加密存储,避免写入磁盘,Pod间隔离不可互访 |
| PV/PVC/SC | PV(集群资源) + PVC(用户申请) + SC(存储类动态供应) |
| CCE认证地位 | 全球首批KCSP、CNCF创始成员及白金会员、K8s一致性认证 |
| 实战内容 | Pod间通信/Service服务发现/Volume实操/StatefulSet+Headless Service |
Service类型对比:
| 类型 | 层级 | 访问范围 | 特点 |
|---|---|---|---|
| ClusterIP | 四层 | 集群内部 | 默认模式,虚拟IP |
| NodePort | 四层 | 节点外部 | 静态端口暴露 |
| LoadBalancer | 四层 | 公网外部 | 高可靠,需外部LB(ELB) |
| Ingress | 七层 | 公网外部 | HTTP/HTTPS,域名/路径路由 |
Volume类型对比:
| 类型 | 持久性 | 共享性 | 典型场景 |
|---|---|---|---|
| emptyDir | 临时(随Pod删除) | Pod内容器共享 | 临时缓存、日志采集 |
| hostPath | 持久(在节点上) | 同节点Pod共享 | 访问主机文件 |
| ConfigMap | 持久 | 多Pod共享 | 配置文件管理 |
| Secret | 持久(加密) | 多Pod共享 | 敏感信息存储 |
| PV/PVC | 持久 | 可跨节点共享 | 应用持久化数据 |
四、跨文档知识关联
4.1 容器技术的主线贯穿
5份文档围绕"容器"这一核心技术展开,形成了完整的知识链条:
scss
文档1(容器入门) 文档2(容器进阶) 文档3(建站实践)
容器是什么? → 容器如何隔离/限制? → 容器如何用起来?
Docker三要素 Namespace+Cgroups CCE+WordPress
镜像/仓库/容器 网络/存储/资源管理 快速部署实战
│
▼
文档4(K8s编排) 文档5(网络存储)
多容器如何管理? → 网络和存储怎么解决?
Pod/Controller Service/Ingress
Deployment等 PV/PVC/ConfigMap
4.2 Docker到Kubernetes的演进逻辑
| 演进阶段 | 文档来源 | 核心变化 |
|---|---|---|
| 单机容器管理 | 文档1、3 | Docker CLI管理单台宿主机上的容器生命周期 |
| 容器资源深度控制 | 文档2 | Namespace隔离+Cgroups限制+网络/存储管理 |
| 多机容器编排 | 文档3、4 | 从Docker到K8s:解决跨主机部署、调度、伸缩问题 |
| 网络与存储体系 | 文档5 | Service服务发现+PV/PVC持久化存储+Ingress七层路由 |
4.3 容器隔离技术的递进关系
文档1介绍了容器与虚拟机的区别(共享内核、进程级隔离),文档2深入到Linux内核技术层面:
objectivec
文档1:容器 vs 虚拟机(概念层面)
↓
文档2:Namespace(6种隔离类型)+ Cgroups(CPU/内存/IO限制)
↓
文档5:CRI/CNI/CSI三大接口(K8s层面的计算/网络/存储抽象)
Namespace的6种隔离类型在文档2中详细介绍,其中Network Namespace在文档5中被Kubernetes CNI接口进一步扩展,实现了Pod间网络通信和Service服务发现。
4.4 存储技术的三层递进
存储知识在三个文档中逐步深入:
| 层级 | 文档 | 存储技术 | 管理范围 |
|---|---|---|---|
| Docker存储 | 文档2 | Volume / Bind mount / Tmpfs mount | 单机容器数据持久化 |
| K8s Volume | 文档5 | emptyDir / hostPath / ConfigMap / Secret | Pod级存储管理 |
| K8s持久化 | 文档5 | PV / PVC / SC(StorageClass) | 集群级持久化存储动态供应 |
关联点:文档2中的Docker Volume概念是文档5中K8s Volume的基础;文档4中StatefulSet通过PVC实现持久化存储,直接依赖文档5中的PV/PVC/SC体系。
4.5 网络技术的三层递进
网络知识同样在多个文档中逐步展开:
| 层级 | 文档 | 网络技术 | 解决问题 |
|---|---|---|---|
| Docker网络 | 文档2 | None/Host/Bridge/Overlay/Macvlan | 单机/跨主机容器通信 |
| K8s Service | 文档4、5 | ClusterIP/NodePort/LoadBalancer | Pod IP动态变化下的服务访问 |
| K8s Ingress | 文档5 | 七层HTTP/HTTPS路由 | 基于域名和路径的细粒度流量管理 |
关联点:文档2中的Docker Bridge网络是K8s Pod网络的基础;文档4中Service概念在文档5中被详细展开为四种类型;CCE的网络性能增强(Overlay提升30%、Underlay损耗<5%)在文档3和文档4中均有提及。
4.6 华为云CCE的多次出现与知识互补
CCE(云容器引擎)在文档3、4、5中均有介绍,但侧重点不同:
| 文档 | CCE侧重 | 补充信息 |
|---|---|---|
| 文档3 | CCE产品介绍+能力矩阵+建站实战 | 容器编排必要性、K8s成为标准、CCE关键特性、应用场景 |
| 文档4 | CCE与K8s关系+集群关键能力+使用方式 | 异构算力、高性能网络、安全能力、Volcano调度、三种使用方式 |
| 文档5 | CCE认证地位+实战操作 | KCSP认证、CNCF白金会员、网络/存储/StatefulSet实战 |
华为云自研技术在文档2中首次系统介绍(擎天架构:iSula+Yangtse+Everest),在文档3和文档4中体现为CCE的企业级增强特性(Volcano调度效率提升30%、Overlay网络提升30%)。
4.7 工作负载与Service的协同关系
文档4介绍四种工作负载类型,文档5深入Service和存储,两者存在紧密协同:
scss
文档4:工作负载类型 文档5:Service + 存储
Deployment(无状态) ←→ ClusterIP/NodePort Service
StatefulSet(有状态) ←→ Headless Service + PVC
DaemonSet(守护进程) ←→ hostPath/ConfigMap
Job/CronJob(批处理) ←→ emptyDir(临时存储)
关键协同:StatefulSet(文档4)的三个核心机制------固定Pod名称、Headless Service、PVC------分别在文档4和文档5中详细讲解,体现了有状态应用管理的完整性。
五、技术栈全景图
5.1 华为云云原生技术栈全景
| 层级 | 技术/组件 | 来源文档 | 说明 |
|---|---|---|---|
| 基础设施 | ECS/BMS/鲲鹏/昇腾/GPU | 3、4 | 华为云异构算力,支持X86/ARM/GPU/NPU |
| 基础设施 | VPC/EIP/ELB/NAT | 3、4、5 | 华为云网络服务 |
| 基础设施 | EVS/OBS/SFS | 3、4、5 | 华为云存储服务 |
| 容器运行时 | Docker/runC | 1、2、3 | 标准容器运行时 |
| 容器运行时 | iSula | 2 | 华为自研,省30M内存/容器 |
| 容器运行时 | Kata/gVisor | 1 | 安全容器(基于虚拟化) |
| 容器网络 | Flannel Overlay/Underlay | 3、4、5 | K8s网络模式 |
| 容器网络 | Yangtse | 2 | 华为自研,PPS提升2倍 |
| 容器存储 | Everest | 2 | 华为自研,性能提升40% |
| 容器存储 | CSI-Disk | 4、5 | 云硬盘CSI插件 |
| 镜像仓库 | Docker Hub/私有Registry | 1 | 公有/私有镜像仓库 |
| 镜像仓库 | SWR | 1、2 | 华为云容器镜像服务 |
| 编排调度 | Kubernetes | 3、4、5 | 容器编排事实标准 |
| 编排调度 | Volcano | 3、4 | 华为自研调度引擎,效率提升30% |
| 工作负载 | Deployment/StatefulSet/DaemonSet/Job | 4 | 四种K8s工作负载类型 |
| 服务发现 | ClusterIP/NodePort/LoadBalancer | 4、5 | K8s Service三种类型 |
| 服务发现 | Ingress | 5 | 七层HTTP/HTTPS路由 |
| 存储管理 | emptyDir/hostPath | 5 | 临时/主机路径存储 |
| 存储管理 | ConfigMap/Secret | 5 | 配置管理/敏感信息加密 |
| 存储管理 | PV/PVC/SC | 4、5 | 持久化存储体系 |
| 平台服务 | CCE/CCE Turbo | 2、3、4、5 | 华为云容器引擎 |
| 平台服务 | CCI | 2 | 华为云容器实例(Serverless) |
| 平台服务 | ASM/IEF/MCP/CSE | 2 | 服务网格/边缘/多云/微服务引擎 |
| 开发运维 | DevSecOps | 2 | 安全开发运维体系 |
| 监控运维 | AOM/APM/LTS | 2 | 全栈立体运维 |
5.2 Kubernetes核心架构图
scss
┌─────────────────────────────────────┐
│ Master节点(控制面) │
│ ┌──────────┐ ┌──────────┐ │
│ │apiserver │ │scheduler │ │
│ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────────┐ │
│ │ etcd │ │controller-mgr│ │
│ └──────────┘ └──────────────┘ │
└───────────────┬─────────────────────┘
│
┌───────────────┼───────────────────┐
│ │ │
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
│ Node节点 │ │ Node节点 │ │ Node节点 │
│ ┌────────┐│ │ ┌────────┐│ │ ┌────────┐│
│ │kubelet ││ │ │kubelet ││ │ │kubelet ││
│ ├────────┤│ │ ├────────┤│ │ ├────────┤│
│ │kube- ││ │ │kube- ││ │ │kube- ││
│ │proxy ││ │ │proxy ││ │ │proxy ││
│ ├────────┤│ │ ├────────┤│ │ ├────────┤│
│ │Pod Pod ││ │ │Pod Pod ││ │ │Pod Pod ││
│ │Container│ │ │Container│ │ │Container│
│ └────────┘│ │ └────────┘│ │ └────────┘│
└───────────┘ └───────────┘ └───────────┘
开放接口:CRI(容器运行时) · CNI(容器网络) · CSI(容器存储)
5.3 华为云擎天架构
| 组件 | 技术 | 特性 | 性能提升 |
|---|---|---|---|
| 容器引擎 | iSula | 极致轻量,单进程节省30M内存 | 资源"0"损耗 |
| 容器网络 | Yangtse | 快速并发,百容器启动缩短30% | PPS提升2倍 |
| 容器存储 | Everest | 硬件直通,动态队列 | 性能提升40%,端到端打通<2s |
六、学习路径建议
6.1 推荐学习顺序
vbnet
第一阶段:建立概念(文档1 → 文档3)
├── 先学文档1:云原生概念、容器基础技术、Docker三要素
└── 再学文档3:容器发展史、Docker实践、CCE初识、WordPress建站
【目标】理解容器是什么,能用Docker基本操作,了解CCE平台
第二阶段:深入原理(文档2)
└── 学文档2:云原生架构原则、Namespace/Cgroups、容器网络/存储、华为云解决方案
【目标】理解容器底层隔离机制,掌握资源限制和网络存储配置
第三阶段:掌握编排(文档4)
└── 学文档4:K8s架构、Pod/Controller/Service核心概念、四种工作负载、kubectl/YAML
【目标】理解K8s设计理念,能编写YAML编排应用,掌握Deployment/StatefulSet等
第四阶段:网络存储实战(文档5)
└── 学文档5:Service四种类型、Ingress、Volume体系、PV/PVC/SC、CCE实战
【目标】掌握K8s网络和存储的完整体系,能在CCE上完成实战操作
6.2 学习重点与难点
| 重点/难点 | 涉及文档 | 学习建议 |
|---|---|---|
| 容器隔离机制 | 1、2 | 理解Namespace(看到什么)和Cgroups(用多少)的协同关系 |
| 镜像分层与COW | 1 | 通过Dockerfile实践理解分层构建机制,优化镜像大小 |
| K8s声明式API | 4、5 | 从指令式kubectl命令过渡到YAML声明式配置,理解spec/status模型 |
| 四种工作负载选择 | 4 | 根据应用特征(有状态/无状态/守护/批处理)选择合适的Controller |
| Service与Pod关联 | 4、5 | 理解Label Selector匹配机制,掌握ClusterIP到LoadBalancer的递进 |
| PV/PVC/SC体系 | 5 | 理解三层抽象关系(集群资源→用户申请→动态供应),类比采购流程 |
| StatefulSet三重保障 | 4、5 | 固定Pod名称+Headless Service+PVC的协同 |
| CCE企业级特性 | 2、3、4 | 华为云自研技术(iSula/Yangtse/Everest/Volcano)的性能优势 |
6.3 实践路径建议
| 阶段 | 实践内容 | 平台/工具 |
|---|---|---|
| 入门 | Docker容器基本操作(build/run/push) | 本地Docker环境 |
| 进阶 | 容器资源限制、网络配置、数据卷挂载 | 本地Docker环境 |
| 平台 | CCE集群创建、WordPress建站 | 华为云CCE控制台 |
| 编排 | kubectl命令行操作、YAML编写 | CCE + kubectl |
| 高阶 | Service/Ingress配置、PV/PVC创建、StatefulSet部署 | CCE + kubectl + YAML |
6.4 关键YAML模板速查
Deployment模板:
yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: <app-name>
spec:
replicas: 3
selector:
matchLabels:
app: <app-name>
template:
metadata:
labels:
app: <app-name>
spec:
containers:
- name: <app-name>
image: <image>:<tag>
ports:
- containerPort: 80
Service模板:
yaml
apiVersion: v1
kind: Service
metadata:
name: <svc-name>
spec:
type: NodePort # ClusterIP/NodePort/LoadBalancer
selector:
app: <app-name>
ports:
- port: 8080
targetPort: 80
nodePort: 30144 # NodePort类型时指定
PVC模板:
yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: <pvc-name>
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 10Gi
storageClassName: csi-disk
七、总结
7.1 知识体系总结
本总笔记汇总的5份华为云技术培训文档,构建了从云原生基础概念到CCE实战操作的完整知识体系:
- 基础层(文档1):云原生定义、容器技术基础、Docker三要素与生命周期管理------回答"什么是容器"
- 进阶层(文档2):云原生架构原则、Namespace/Cgroups隔离机制、容器网络与存储、华为云解决方案------回答"容器如何工作"
- 实践层(文档3):容器发展史、Docker技术实践、CCE平台初识、WordPress建站------回答"容器怎么用"
- 编排层(文档4):Kubernetes架构与核心概念、四种工作负载、应用编排管理------回答"多容器如何管理"
- 高阶层(文档5):Service服务发现、存储管理体系、CCE网络与存储实战------回答"网络和存储怎么解决"
7.2 核心技术脉络
整个知识体系围绕三条主线展开:
- 容器技术主线:Docker基础 → Namespace/Cgroups隔离 → K8s Pod抽象 → CRI接口标准化
- 网络技术主线:Docker网络驱动 → K8s Service(ClusterIP/NodePort/LB) → Ingress七层路由 → CNI接口标准化
- 存储技术主线:Docker Volume/Bind mount → K8s Volume(emptyDir/hostPath/ConfigMap/Secret) → PV/PVC/SC持久化 → CSI接口标准化
7.3 华为云CCE的核心价值
华为云CCE在开源Kubernetes基础上提供了显著的企业级增强:
| 维度 | 开源K8s | 华为云CCE增强 |
|---|---|---|
| 容器引擎 | Docker/runC | iSula(省30M内存/容器) |
| 容器网络 | Flannel | Yangtse(PPS提升2倍)+ Overlay提升30% |
| 容器存储 | 开源CSI | Everest(性能提升40%) |
| 调度引擎 | 默认调度器 | Volcano(效率提升30%) |
| 集群规模 | 有限 | 单集群最大1万节点 |
| 异构算力 | 有限支持 | 鲲鹏/昇腾/GPU/BMS全面支持 |
| 安全能力 | 基础 | 安全加固运行时+镜像扫描+运行时检测 |
| 高可用 | 需自行配置 | 控制面HA跨AZ高可用 |
| 弹性伸缩 | 需自行配置 | 秒级弹性伸缩+多种策略 |
7.4 关键收获
-
容器是云原生的基础:理解容器的轻量级、可移植、自包含特性,以及Namespace+Cgroups的隔离限制机制,是掌握整个云原生技术体系的起点。
-
Kubernetes是编排的核心:Pod抽象、声明式API、四种工作负载类型、Service服务发现构成了K8s的核心设计理念,理解这些概念是使用CCE的前提。
-
网络与存储是实战的关键:Service的四种类型(ClusterIP/NodePort/LoadBalancer/Ingress)和存储体系(emptyDir/hostPath/ConfigMap/Secret/PV-PVC-SC)覆盖了容器应用的所有网络和存储需求。
-
华为云CCE的企业级价值:通过擎天架构(iSula+Yangtse+Everest)、Volcano调度、异构算力支持等自研技术,CCE在性能、安全、可用性方面显著优于开源K8s,是企业落地云原生的优选平台。
-
从理论到实践的学习路径:5份文档构成了"概念→原理→平台→编排→实战"的完整学习路径,建议按序学习并配合实际操作,在CCE平台上验证理论知识。
本总学习笔记汇总自以下5份独立学习笔记:
- HDCN_316b8e59a0c84ba19d2416d5bc89727a_1674109783444.md(云原生基础设施之容器入门)
- HDCN_fd0568f50bcd4af1b321c681276e00fc_1674109783925.md(云原生基础设施之容器进阶)
- 云容器快速搭建网站-终稿0914.md
- 基于CCE的Kubernetes编排实战.md
- 基于CCE的Kubernetes网络与持久化存储实战v1.0.md