模块7:故障排查和优化

导航 上一步:模块6:部署应用到K8s 返回主索引:阿里云ACK部署SOP 模块概述 预计时间:40分钟 本模块目标: ✅ 掌握Pod故障排查方法 ✅ 掌握网络故障排查方法 ✅ 学会查看和分析日志 ✅ 学会回滚应用 ✅ 了解成本优化方法 ✅ 学会彻底清理资源 成本说明: 本模块不产生额外费用 会学习如何优化成本 步骤7.1:Pod故障排查 - ImagePullBackOff 🎬 操作说明 ImagePullBackOff是最常见的Pod启动失败错误,表示无法拉取Docker镜像。我们需要学会快速定位和解决这个问题。 📍 详细步骤 第1步:识别错误 运行命令查看Pod状态: kubectl get pods -n my-app 如果看到ImagePullBackOff或ErrImagePull: NAME READY STATUS RESTARTS AGE my-app-7d9f8c6b5d-abc12 0/1 ImagePullBackOff 0 2m 第2步:查看详细错误信息 运行命令: kubectl describe pod <Pod名称> -n my-app 在Events部分查看错误: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 2m default-scheduler Successfully assigned my-app/my-app-xxx to node1 Normal Pulling 1m (x4 over 2m) kubelet Pulling image "registry.cn-hangzhou.aliyuncs.com/my-namespace/my-app:v1.0.0" Warning Failed 1m (x4 over 2m) kubelet Failed to pull image: rpc error: code = Unknown desc = Error response from daemon: pull access denied Warning Failed 1m (x4 over 2m) kubelet Error: ErrImagePull Normal BackOff 30s (x6 over 2m) kubelet Back-off pulling image Warning Failed 30s (x6 over 2m) kubelet Error: ImagePullBackOff 第3步:分析错误原因 ...

2026-01-29 · maneng

模块6:部署应用到K8s

导航 上一步:模块5:构建Docker镜像 下一步:模块7:故障排查和优化 返回主索引:阿里云ACK部署SOP 模块概述 预计时间:30分钟 本模块目标: ✅ 理解Kubernetes核心资源(Namespace、Deployment、Service、Ingress) ✅ 创建完整的应用配置文件 ✅ 部署应用到Kubernetes集群 ✅ 配置健康检查和资源限制 ✅ 通过域名访问应用 ✅ 验证负载均衡和高可用 成本说明: 本模块不产生额外费用 使用已有的ACK集群和ALB实例 步骤6.1:理解Kubernetes核心资源 🎬 操作说明 在开始部署之前,我们需要先理解Kubernetes的核心资源。这些资源是部署应用的基础,理解它们的作用和关系非常重要。 📍 详细说明 Kubernetes资源层级关系 ┌─────────────────────────────────────────┐ │ Ingress(外网访问入口) │ │ - 域名路由 │ │ - SSL证书 │ │ - 七层负载均衡 │ └──────────────┬──────────────────────────┘ │ ┌──────────────▼──────────────────────────┐ │ Service(服务发现和负载均衡) │ │ - ClusterIP(集群内部访问) │ │ - 自动负载均衡到多个Pod │ │ - 服务发现(通过DNS) │ └──────────────┬──────────────────────────┘ │ ┌──────────────▼──────────────────────────┐ │ Deployment(管理Pod副本) │ │ - 声明期望的副本数 │ │ - 自动创建和管理Pod │ │ - 滚动更新和回滚 │ └──────────────┬──────────────────────────┘ │ ┌──────────────▼──────────────────────────┐ │ Pod(最小部署单元) │ │ - 运行一个或多个容器 │ │ - 共享网络和存储 │ │ - 生命周期管理 │ └──────────────┬──────────────────────────┘ │ ┌──────────────▼──────────────────────────┐ │ Container(容器) │ │ - 运行Docker镜像 │ │ - 隔离的运行环境 │ └─────────────────────────────────────────┘ 核心资源详解 ...

2026-01-29 · maneng

模块5:构建Docker镜像

导航 上一步:模块4:配置ALB Ingress 下一步:模块6:部署应用到K8s 返回主索引:阿里云ACK部署SOP 模块概述 预计时间:20分钟 本模块目标: ✅ 理解Docker镜像的基本概念 ✅ 编写Dockerfile(使用多阶段构建) ✅ 本地构建Docker镜像 ✅ 本地测试镜像 ✅ 推送镜像到阿里云ACR ✅ 验证镜像可用性 成本说明: ACR个人版:免费 镜像存储:免费(个人版有300GB免费额度) 镜像拉取:免费(同地域) 本模块预计成本:¥0 步骤5.1:理解Docker镜像 🎬 操作说明 在开始构建镜像之前,我们需要先理解Docker镜像的基本概念。这一步不需要操作,只需要理解核心概念。 📍 详细说明 什么是Docker镜像? Docker镜像是一个轻量级、可执行的独立软件包,包含运行应用所需的一切: 代码(你的应用程序) 运行时(如:Java、Python、Node.js) 系统工具和库 配置文件 镜像 vs 容器 概念 说明 类比 镜像(Image) 只读的模板,包含应用和依赖 类似于"类"(Class) 容器(Container) 镜像的运行实例 类似于"对象"(Object) 镜像的层级结构 Docker镜像由多个层(Layer)组成,每一层都是只读的: ┌─────────────────────────────┐ │ 你的应用代码(Layer 4) │ ← 最上层 ├─────────────────────────────┤ │ 应用依赖(Layer 3) │ ├─────────────────────────────┤ │ 运行时环境(Layer 2) │ ├─────────────────────────────┤ │ 基础操作系统(Layer 1) │ ← 最底层 └─────────────────────────────┘ 为什么使用分层结构? ...

2026-01-29 · maneng

模块4:配置ALB Ingress

导航 上一步:模块3:创建ACK集群 下一步:模块5:构建Docker镜像 返回主索引:阿里云ACK部署SOP 模块概述 预计时间:25分钟 本模块目标: ✅ 理解ALB和SLB的区别 ✅ 安装ALB Ingress Controller ✅ 创建ALB实例 ✅ 配置域名解析 ✅ 配置SSL证书(自动签发) ✅ 验证ALB工作正常 成本说明: ALB实例:约¥60/月(alb.s1.small规格) 流量费用:¥0.8/GB(按实际使用计费) 本模块预计成本:¥60-100/月 步骤4.1:理解ALB vs SLB 🎬 操作说明 在配置Ingress之前,我们需要先理解阿里云的两种负载均衡产品:ALB(应用型负载均衡)和SLB(传统负载均衡)。这一步不需要操作,只需要理解它们的区别。 📍 详细说明 ALB vs SLB 对比表 特性 ALB(应用型负载均衡) SLB(传统负载均衡) OSI层级 七层(HTTP/HTTPS) 四层(TCP/UDP)+ 七层 路由能力 基于域名、路径、Header 基于端口 SSL证书 自动管理、自动续期 手动上传、手动续期 WebSocket 原生支持 需要特殊配置 HTTP/2 原生支持 部分支持 健康检查 HTTP健康检查 TCP健康检查 价格 约¥60/月起 约¥30/月起 适用场景 Web应用、API网关 通用负载均衡 推荐度 ⭐⭐⭐⭐⭐(强烈推荐) ⭐⭐⭐(传统方案) 为什么选择ALB? 智能路由 ...

2026-01-29 · maneng

模块3:创建ACK集群

导航 上一步:模块2:创建VPC网络 下一步:模块4:配置ALB Ingress 返回主索引:阿里云ACK部署SOP 模块概述 预计时间:30分钟(包含15分钟集群创建等待时间) 本模块目标: ✅ 理解ACK集群的三种类型 ✅ 创建标准托管版ACK集群 ✅ 配置节点池和Worker节点 ✅ 下载并配置kubeconfig文件 ✅ 验证集群连接正常 成本说明: 控制平面:免费(标准托管版) Worker节点:约¥223/月/节点(2核4G) 本模块预计成本:¥446/月(2个节点) 步骤3.1:理解ACK集群类型 🎬 操作说明 在创建集群之前,我们需要先理解阿里云ACK提供的三种集群类型。这一步不需要操作,只需要理解每种类型的特点和适用场景。 📍 详细说明 ACK集群类型对比表 特性 标准托管版 专有版 Serverless版 控制平面 阿里云托管(免费) 用户自建(收费) 阿里云托管(免费) Worker节点 用户管理ECS 用户管理ECS 无需管理(按Pod收费) 适用场景 生产环境、学习测试 高安全要求 突发流量、测试环境 成本 中等(只付Worker节点费用) 高(控制平面+Worker节点) 低(按实际使用付费) 灵活性 高 最高 中等 运维复杂度 低 高 最低 第1种:标准托管版(推荐) 控制平面由阿里云托管,完全免费 你只需要管理Worker节点(运行应用的服务器) 适合99%的场景,包括生产环境 成本最优,运维最简单 第2种:专有版 控制平面也是你自己的ECS服务器 需要额外付费(3台Master节点) 适合金融、政务等高安全要求场景 成本高,运维复杂 第3种:Serverless版 完全无需管理服务器 按Pod运行时间付费 适合突发流量、测试环境 成本最低,但灵活性受限 ✅ 验证点 理解三种集群类型的区别 明确我们选择标准托管版的原因 ⚠️ 常见问题 问题1:为什么选择标准托管版? ...

2026-01-29 · maneng

ACK部署SOP-01:准备工作(账号、工具、环境)

🎯 本章目标 完成阿里云ACK部署的所有准备工作,包括: ✅ 注册阿里云账号并完成实名认证 ✅ 充值账户并开通必要服务 ✅ 在本地安装kubectl命令行工具 ✅ 在本地安装Docker Desktop ✅ 验证所有工具安装成功 预计时间:30分钟 预计费用:¥0(仅充值,暂不产生费用) 📋 准备工作清单 在开始之前,请准备好: 一台电脑(Windows 10+、macOS 10.15+、或Linux) 稳定的网络连接 手机(用于接收验证码) 身份证(用于实名认证) 银行卡或支付宝(用于充值) 第一部分:阿里云账号准备 步骤1.1:注册阿里云账号 🎬 操作说明 如果你已经有阿里云账号,可以跳过这一步。如果没有,我们现在来注册一个。 📍 详细步骤 第1步:打开阿里云官网 在浏览器中输入:https://www.aliyun.com 按回车键访问阿里云官网 你会看到阿里云的首页,上面有很多产品介绍 第2步:点击注册按钮 在页面右上角,找到"免费注册"按钮 按钮通常是橙色或蓝色的,很显眼 点击"免费注册"按钮 第3步:选择注册方式 你会看到两种注册方式: 手机号注册(推荐) 邮箱注册 我们选择"手机号注册"(更方便) 第4步:填写注册信息 输入你的手机号码(11位数字) 点击"获取验证码"按钮 等待手机收到验证码(通常10秒内到达) 输入收到的6位验证码 设置登录密码(建议8位以上,包含字母和数字) 勾选"我已阅读并同意《阿里云服务协议》" 点击"注册"按钮 第5步:完成注册 注册成功后,页面会自动跳转 你会看到"注册成功"的提示 现在你已经有了一个阿里云账号 ✅ 验证点 确认收到阿里云的欢迎短信 确认可以用手机号和密码登录阿里云控制台 登录后能看到阿里云控制台首页 ⚠️ 常见问题 问题1:收不到验证码怎么办? ...

2026-01-29 · maneng

阿里云ACK Kubernetes集群部署完整指南(总览)

🎯 文档目标 这是一套完整的阿里云ACK(Alibaba Cloud Container Service for Kubernetes)部署标准操作流程(SOP)文档。 适合人群: ✅ 完全不懂Kubernetes的小白用户 ✅ 需要在阿里云控制台手动操作的开发者 ✅ 希望一步步跟着做就能完成部署的学习者 不适合人群: ❌ 已经熟悉K8s的高级用户(可能觉得太啰嗦) ❌ 需要使用Terraform等IaC工具的自动化场景 ❌ 需要部署生产级高可用集群的企业用户 📊 整体流程图 第1步:准备工作(30分钟) ├─ 注册阿里云账号 ├─ 实名认证 ├─ 充值(建议500元) └─ 安装工具(kubectl、Docker Desktop) ↓ 第2步:创建网络(10分钟) ├─ 创建VPC专有网络 ├─ 创建交换机 └─ 配置安全组 ↓ 第3步:创建ACK集群(30分钟) ├─ 选择集群类型(标准托管版) ├─ 配置节点规格(2核4G × 2台) ├─ 等待集群创建(约15分钟) └─ 配置kubectl连接 ↓ 第4步:配置ALB Ingress(20分钟) ├─ 安装ALB Ingress Controller ├─ 创建ALB实例 ├─ 配置域名解析 └─ 配置SSL证书(可选) ↓ 第5步:构建Docker镜像(20分钟) ├─ 编写Dockerfile ├─ 本地构建镜像 ├─ 测试镜像 └─ 推送到阿里云ACR ↓ 第6步:部署应用(15分钟) ├─ 创建Deployment配置 ├─ 创建Service配置 ├─ 创建Ingress配置 ├─ 应用配置到集群 └─ 验证访问 ↓ 第7步:故障排查(按需) ├─ 查看Pod日志 ├─ 排查常见问题 └─ 回滚操作 ⏱️ 时间和成本估算 时间估算 步骤 预计时间 说明 准备工作 30分钟 包括账号注册、实名认证、工具安装 创建网络 10分钟 VPC和交换机创建很快 创建ACK集群 30分钟 其中集群创建等待约15分钟 配置ALB Ingress 20分钟 包括安装和配置 构建Docker镜像 20分钟 取决于应用复杂度 部署应用 15分钟 配置和验证 总计 2-3小时 首次操作建议预留3小时 成本估算(按月计算) 资源 规格 单价 数量 月费用 ACK集群(控制平面) 标准托管版 免费 1 ¥0 ECS节点 2核4G ¥0.31/小时 2台 ¥446 ALB实例 小型 ¥0.21/小时 1个 ¥151 公网带宽 5Mbps ¥0.8/Mbps/天 1条 ¥120 云盘存储 40GB ESSD ¥0.001/GB/小时 2块 ¥58 ACR镜像仓库 个人版 免费 1个 ¥0 总计 - - - ¥775/月 成本优化建议: ...

2026-01-29 · maneng

TCP三次握手详解:为什么是三次而不是两次?

引言 在上一篇文章中,我们理解了传输层的核心使命和TCP/UDP的本质区别。今天我们深入TCP协议的第一个重要机制:三次握手(Three-Way Handshake)。 为什么需要三次握手? TCP是面向连接的协议(像打电话,先拨号建立连接) 在传输数据之前,必须先建立一条可靠的连接 三次握手就是建立连接的过程 今天我们来理解: ✅ 三次握手的完整流程 ✅ 为什么是三次而不是两次或四次? ✅ SYN/ACK标志位的作用 ✅ 半连接队列和全连接队列 ✅ SYN Flood攻击原理与防护 三次握手的完整流程 流程图解 客户端 (Client) 服务器 (Server) | | | [第一次握手] SYN=1, seq=100 | |------------------------------------->| LISTEN状态 | | 收到SYN,进入SYN_RCVD状态 | | | [第二次握手] SYN=1, ACK=1 | | seq=200, ack=101 | |<-------------------------------------| | 收到SYN-ACK,进入ESTABLISHED状态 | | | | [第三次握手] ACK=1, ack=201 | |------------------------------------->| | | 收到ACK,进入ESTABLISHED状态 | | | [连接建立完成,开始传输数据] | |<------------------------------------>| 详细步骤 第一次握手:客户端发送SYN 客户端 → 服务器 ...

2025-11-20 · maneng

如约数科科技工作室

浙ICP备2025203501号

👀 本站总访问量 ...| 👤 访客数 ...| 📅 今日访问 ...