返回 随笔记录
十一、云原生与DevOps
博主
大约 8 分钟
十一、云原生与DevOps
范围:Docker、Kubernetes、CI/CD、服务网格、可观测性、基础设施 知识点数量:221项 返回总目录
11.1 Docker
11.1.1 基础概念
- 1069. 镜像 - 掌握分层存储,理解联合文件系统(Overlay2)
- 1070. 容器 - 掌握隔离原理,理解Namespace和Cgroups
- 1071. Dockerfile - 掌握镜像构建,理解最佳实践(多阶段构建)
- 1072. 数据卷 - 掌握Volume和Bind Mount,理解数据持久化
- 1073. 网络 - 掌握Bridge/Host/None/Overlay网络模式
- 1074. Compose - 掌握多容器编排,理解docker-compose.yml
- 1075. 容器生命周期 - 掌握create/start/stop/restart/rm
- 1076. 资源限制 - 掌握--memory和--cpus
- 1077. 镜像仓库 - 掌握Docker Registry和Harbor
- 1078. 容器安全 - 掌握非root运行,理解镜像扫描
11.1.2 进阶使用
- 1079. 多阶段构建 - 掌握减小镜像体积,理解builder和runtime分离
- 1080. 构建缓存 - 掌握层缓存优化,理解COPY顺序
- 1081. 健康检查 - 掌握HEALTHCHECK指令
- 1082. 日志管理 - 掌握json-file/syslog日志驱动
- 1083. 容器编排基础 - 理解Swarm模式
- 1084. Docker API - 掌握REST API操作
- 1085. 镜像优化 - 掌握Alpine基础镜像,理解Distroless
- 1086. 容器调试 - 掌握exec/logs/inspect命令
- 1087. 网络互通 - 掌握容器间通信,理解DNS解析
- 1088. 特权模式 - 理解--privileged和安全风险
11.2 Kubernetes
11.2.1 核心概念
- 1089. Pod - 掌握最小部署单元,理解容器共享网络/存储
- 1090. Service - 掌握服务发现,理解ClusterIP/NodePort/LoadBalancer
- 1091. Deployment - 掌握无状态应用,理解滚动更新
- 1092. StatefulSet - 掌握有状态应用,理解有序部署和稳定网络ID
- 1093. DaemonSet - 掌握节点级应用,理解日志采集和监控
- 1094. ConfigMap - 掌握配置管理,理解环境变量和挂载
- 1095. Secret - 掌握敏感信息,理解Base64编码和加密
- 1096. Namespace - 掌握资源隔离,理解资源配额
- 1097. Label和Selector - 掌握标签选择器,理解匹配逻辑
- 1098. Job/CronJob - 掌握批处理任务
11.2.2 存储与网络
- 1099. Volume - 掌握emptyDir/hostPath/PVC
- 1100. PV和PVC - 掌握持久化存储,理解StorageClass动态供给
- 1101. CNI - 掌握容器网络接口,理解Flannel/Calico
- 1102. Ingress - 掌握HTTP路由,理解Nginx Ingress Controller
- 1103. CoreDNS - 掌握服务发现,理解DNS解析
- 1104. NetworkPolicy - 掌握网络策略,理解Pod间访问控制
- 1105. 存储插件 - 掌握CSI接口,理解NFS/Ceph集成
11.2.3 调度与高可用
- 1106. 调度器 - 掌握kube-scheduler,理解预选和优选
- 1107. 亲和性 - 掌握nodeAffinity和podAffinity
- 1108. 污点和容忍 - 掌握taint和toleration
- 1109. HPA - 掌握水平自动扩缩,理解CPU/内存指标
- 1110. VPA - 掌握垂直自动扩缩
- 1111. PDB - 掌握Pod中断预算,理解自愿/非自愿中断
- 1112. 资源配额 - 掌握LimitRange和ResourceQuota
- 1113. 节点管理 - 掌握cordon/drain
- 1114. 滚动更新 - 掌握maxUnavailable和maxSurge
- 1115. 蓝绿部署 - 掌握Service切换
- 1116. 金丝雀发布 - 掌握流量渐进
11.2.4 高级特性
- 1117. Helm - 掌握包管理,理解Chart和Template
- 1118. RBAC - 掌握权限控制,理解Role/ClusterRole/ServiceAccount
- 1119. 准入控制 - 掌握ValidatingWebhook/MutatingWebhook
- 1120. 自定义资源 - 掌握CRD,理解Operator模式
- 1121. Operator - 掌握自动化运维,理解Controller循环
- 1122. Sidecar模式 - 掌握辅助容器
- 1123. Init Container - 掌握初始化容器
- 1124. Pod安全策略 - 掌握PSP/PodSecurityAdmission
- 1125. 集群升级 - 掌握滚动升级控制平面和节点
- 1126. etcd - 掌握集群存储,理解备份恢复
- 1127. Kube-proxy - 掌握服务代理,理解iptables/IPVS模式
11.3 CI/CD
11.3.1 Git工作流
- 1128. Git Flow - 掌握master/develop/feature/release/hotfix分支
- 1129. GitHub Flow - 掌握简化分支,理解main+feature
- 1130. GitLab Flow - 掌握环境分支,理解production分支
- 1131. Trunk-Based - 掌握主干开发,理解特性开关
- 1132. 提交规范 - 掌握Conventional Commits,理解feat/fix/chore
- 1133. 代码审查 - 掌握Pull Request流程
- 1134. 分支保护 - 掌握Require Review
11.3.2 Jenkins
- 1135. Pipeline - 掌握声明式和脚本式,理解Jenkinsfile
- 1136. Agent - 掌握节点管理,理解Docker Agent
- 1137. 插件 - 掌握核心插件,理解Pipeline插件
- 1138. 凭据管理 - 掌握Credential Plugin
- 1139. 共享库 - 掌握Groovy共享库
- 1140. 参数化构建 - 掌握Build With Parameters
- 1141. 构建触发 - 掌握Webhook/定时/手动
- 1142. 多分支Pipeline - 掌握自动发现分支
11.3.3 GitLab CI
- 1143. .gitlab-ci.yml - 掌握CI配置,理解stages和jobs
- 1144. Runner - 掌握Shared/Group/Specific Runner
- 1145. Artifact - 掌握产物传递
- 1146. Cache - 掌握缓存优化
- 1147. 环境变量 - 掌握CI/CD Variables
- 1148. Review Apps - 掌握动态环境
- 1149. Auto DevOps - 掌握自动化流水线
- 1150. 合并请求Pipeline - 掌握MR验证
11.3.4 流水线设计
- 1151. 代码检查 - 掌握SonarQube集成
- 1152. 单元测试 - 掌握测试覆盖率
- 1153. 镜像构建 - 掌握Docker Build/Push
- 1154. 部署 - 掌握Kubectl/Helm部署
- 1155. 集成测试 - 掌握测试环境验证
- 1156. 发布 - 掌握生产部署审批
- 1157. 回滚 - 掌握自动/手动回滚
- 1158. 通知 - 掌握邮件/钉钉/企微通知
- 1159. 环境管理 - 掌握Dev/Test/Staging/Prod
11.4 服务网格
11.4.1 Istio
- 1160. Sidecar代理 - 掌握Envoy,理解流量拦截
- 1161. 流量管理 - 掌握VirtualService和DestinationRule
- 1162. 服务路由 - 掌握权重路由和Header路由
- 1163. 熔断 - 掌握OutlierDetection
- 1164. 重试和超时 - 掌握HTTP策略
- 1165. mTLS - 掌握服务间加密,理解PeerAuthentication
- 1166. 授权策略 - 掌握AuthorizationPolicy
- 1167. 可观测性 - 掌握Kiali/Jaeger/Grafana集成
- 1168. Gateway - 掌握入口网关
- 1169. 遥测数据 - 掌握Metrics/Logs/Traces
- 1170. 流量镜像 - 掌握Shadow Traffic
11.4.2 服务网格进阶
- 1171. 控制平面 - 掌握Istiod,理解Pilot/Citadel/Galley合并
- 1172. 数据平面 - 掌握Envoy代理
- 1173. 金丝雀发布 - 掌握Istio流量拆分
- 1174. 速率限制 - 掌握Envoy RateLimit
- 1175. egress流量 - 掌握出口网关
- 1176. 多集群 - 掌握网格联邦
- 1177. WebAssembly扩展 - 掌握Envoy Wasm插件
11.5 可观测性
11.5.1 监控
- 1178. Prometheus - 掌握Pull模式,理解PromQL
- 1179. 指标类型 - 掌握Counter/Gauge/Histogram/Summary
- 1180. ServiceDiscovery - 掌握自动发现,理解Kubernetes SD
- 1181. Alertmanager - 掌握告警路由,理解分组/抑制/静默
- 1182. Grafana - 掌握Dashboard,理解数据源和模板变量
- 1183. exporter - 掌握Node/Blackbox/MySQL Exporter
- 1184. 自定义指标 - 掌握Micrometer集成
- 1185. 长期存储 - 掌握Thanos/Cortex
11.5.2 日志
- 1186. ELK栈 - 掌握Elasticsearch+Logstash+Kibana
- 1187. EFK栈 - 掌握Fluentd替代Logstash
- 1188. Loki - 掌握轻量级日志,理解Label索引
- 1189. 日志收集 - 掌握Filebeat/Fluentbit
- 1190. 日志格式 - 掌握JSON结构化日志
- 1191. 日志级别 - 掌握ERROR/WARN/INFO/DEBUG/TRACE
- 1192. 日志聚合 - 掌握TraceId关联
- 1193. 日志保留 - 掌握ILM策略
11.5.3 链路追踪
- 1194. OpenTelemetry - 掌握标准规范,理解Traces/Metrics/Logs
- 1195. SkyWalking - 掌握APM,理解Java Agent无侵入
- 1196. Jaeger - 掌握分布式追踪,理解Sampling策略
- 1197. Trace上下文 - 掌握W3C Trace Context
- 1198. Span - 掌握内部/客户端/生产者/消费者Span
- 1199. Baggage - 掌握跨服务上下文传递
- 1200. 采样策略 - 掌握概率/自适应/头部采样
- 1201. 依赖拓扑 - 掌握服务依赖可视化
11.6 基础设施
11.6.1 IaC
- 1202. Terraform - 掌握基础设施代码,理解Provider和Resource
- 1203. Ansible - 掌握配置管理,理解Playbook和Inventory
- 1204. Pulumi - 掌握编程语言定义基础设施
- 1205. CloudFormation - 掌握AWS基础设施
- 1206. 状态管理 - 掌握Terraform State,理解远程状态
- 1207. 模块 - 掌握可复用组件
11.6.2 云原生安全
- 1208. 镜像安全 - 掌握Trivy扫描,理解CVE漏洞
- 1209. 运行时安全 - 掌握Falco,理解异常检测
- 1210. 网络安全 - 掌握NetworkPolicy,理解零信任
- 1211. 密钥管理 - 掌握Vault,理解动态Secret
- 1212. 合规审计 - 掌握OPA策略,理解Rego语言
- 1213. Pod安全 - 掌握SecurityContext
- 1214. 签名验证 - 掌握Cosign和Notation
进度统计
- 领域:云原生与DevOps
- 知识点总数:221项
- 已完成:0项
- 待完成:221项
实战项目建议
- 项目1:K8s部署Java应用 - 使用Deployment+Service+Ingress部署Spring Boot应用
- 项目2:CI/CD流水线 - 搭建Jenkins/GitLab CI流水线,包含构建/测试/部署
- 项目3:监控平台 - 搭建Prometheus+Grafana+Loki+Tempo可观测性平台
常见面试问题
- Docker和虚拟机的区别?容器的隔离原理是什么?
- Kubernetes的Pod是什么?为什么需要Pod而不是直接管理容器?
- Service的几种类型?ClusterIP和NodePort的区别?
- Helm是什么?Chart的结构是怎样的?
- Prometheus的Pull模式相比Push有什么优势?
推荐学习资源
- 书籍:《Kubernetes权威指南》《云原生模式》《Site Reliability Engineering》
- 视频:极客时间《Kubernetes实战》《CI/CD流水线实践》
- 官方:Kubernetes官方文档、Docker官方文档、Prometheus官方文档
知识点测试
读完文章了?来测试一下你对知识点的掌握程度吧!
评论区
使用 GitHub 账号登录后即可发表评论,支持 Markdown 格式。
如果评论系统无法加载,请确保:
- 您的网络可以访问 GitHub
- giscus GitHub App 已安装到仓库
- 仓库已启用 Discussions 功能