🎯 本章目标
完成K8s集群所需的网络基础设施配置,包括:
- ✅ 创建VPC专有网络
- ✅ 创建交换机(至少2个可用区)
- ✅ 配置安全组规则
- ✅ 验证网络配置正确
预计时间:10分钟
预计费用:¥0(VPC和安全组免费)
📋 前置条件
在开始之前,请确认:
- 已完成第1步:准备工作
- 已登录阿里云控制台
- 账户余额充足
第一部分:理解网络架构
什么是VPC?
🎬 概念说明
VPC(Virtual Private Cloud,专有网络) 是你在阿里云上的私有网络空间,就像你在云上拥有一个独立的局域网。
形象比喻:
- VPC就像一栋大楼
- 交换机就像大楼里的每一层
- ECS实例就像每层楼里的房间
- 安全组就像门禁系统
为什么需要VPC?
- 🔒 网络隔离:你的资源和其他用户完全隔离
- 🎯 自定义网段:可以自己规划IP地址范围
- 🔐 安全控制:通过安全组控制流量
- 🌐 灵活组网:可以连接多个可用区
网络架构图
┌─────────────────────────────────────────────────────────┐
│ VPC (10.0.0.0/8) │
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ 可用区A │ │ 可用区B │ │
│ │ 交换机A │ │ 交换机B │ │
│ │ (10.0.1.0/24) │ │ (10.0.2.0/24) │ │
│ │ │ │ │ │
│ │ ┌────┐ ┌────┐ │ │ ┌────┐ ┌────┐ │ │
│ │ │Node│ │Node│ │ │ │Node│ │Node│ │ │
│ │ │ 1 │ │ 2 │ │ │ │ 3 │ │ 4 │ │ │
│ │ └────┘ └────┘ │ │ └────┘ └────┘ │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 安全组规则 │ │
│ │ - 允许内网互通 │ │
│ │ - 允许外网访问80/443端口 │ │
│ │ - 允许SSH访问22端口 │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
关键概念
| 概念 | 说明 | 示例 |
|---|---|---|
| VPC | 专有网络,你的私有网络空间 | 10.0.0.0/8 |
| 交换机 | VPC内的子网,位于特定可用区 | 10.0.1.0/24 |
| 可用区 | 阿里云的物理机房 | 华东1可用区A |
| 安全组 | 虚拟防火墙,控制流量 | 允许80端口 |
| CIDR | IP地址范围表示法 | 10.0.0.0/8 |
第二部分:创建VPC专有网络
步骤2.1:进入VPC控制台
🎬 操作说明
我们首先要进入VPC管理控制台,这是管理所有网络资源的地方。
📍 详细步骤
第1步:打开阿里云控制台
- 在浏览器中访问:
https://homenew.console.aliyun.com - 使用你的账号和密码登录
- 登录后会看到阿里云控制台首页
第2步:找到VPC产品
- 在控制台首页,找到左侧的产品菜单
- 向下滚动,找到"网络"分类
- 点击"专有网络 VPC"
- 或者直接访问:
https://vpc.console.aliyun.com
第3步:选择地域
- 在VPC控制台页面顶部,你会看到"地域"下拉框
- 点击下拉框,选择一个地域(推荐:华东1(杭州))
- 为什么选择华东1?
- 网络延迟低(如果你在国内)
- 资源充足,很少缺货
- 价格相对便宜
✅ 验证点
- 确认已进入VPC控制台
- 确认地域已选择为"华东1(杭州)"
- 页面显示"专有网络"列表(可能是空的)
💡 小贴士
- 地域选择后,后续所有资源都要在同一地域创建
- 不同地域的资源无法直接互通
- 建议选择离你最近的地域,延迟更低
步骤2.2:创建VPC
🎬 操作说明
现在我们来创建一个VPC专有网络,这是所有资源的网络基础。
📍 详细步骤
第1步:点击创建按钮
- 在VPC控制台页面,找到"专有网络"标签页
- 点击页面右上角的"创建专有网络"按钮
- 页面会跳转到创建向导
第2步:填写基本信息
在创建页面,你会看到几个需要填写的字段:
VPC名称:
- 输入:
k8s-vpc - 说明:给VPC起个容易识别的名字
IPv4网段:
- 选择:
10.0.0.0/8 - 说明:这是VPC的IP地址范围
- 为什么选择10.0.0.0/8?
- 提供最大的IP地址空间(约1600万个IP)
- 适合未来扩展
- 不会和常见的内网地址冲突
描述(可选):
- 输入:
Kubernetes集群专用VPC - 说明:方便以后识别这个VPC的用途
第3步:配置资源组(可选)
- 资源组:选择"默认资源组"
- 说明:资源组用于管理和授权,个人用户使用默认即可
第4步:确认配置
- 检查所有配置是否正确:
- ✓ VPC名称:k8s-vpc
- ✓ IPv4网段:10.0.0.0/8
- ✓ 地域:华东1(杭州)
- 点击页面底部的"确定"按钮
第5步:等待创建完成
- 创建过程很快,通常5秒内完成
- 页面会自动跳转回VPC列表
- 你会看到新创建的VPC,状态为"可用"
✅ 验证点
- 在VPC列表中能看到名为"k8s-vpc"的VPC
- VPC状态显示为"可用"(绿色)
- IPv4网段显示为"10.0.0.0/8"
- 记录下VPC ID(格式:vpc-xxxxx),后面会用到
⚠️ 常见问题
问题1:为什么选择10.0.0.0/8而不是192.168.0.0/16?
- 答:10.0.0.0/8提供更大的地址空间
- 192.168.0.0/16只有65536个IP,可能不够用
- 10.0.0.0/8有约1600万个IP,足够扩展
问题2:创建VPC需要付费吗?
- 答:VPC本身完全免费
- 只有使用VPC内的资源(如ECS、ALB)才会产生费用
问题3:可以创建多个VPC吗?
- 答:可以,每个账号默认可以创建10个VPC
- 不同VPC之间完全隔离
- 本教程只需要1个VPC
第三部分:创建交换机
步骤3.1:理解交换机
🎬 概念说明
交换机(vSwitch) 是VPC内的子网,每个交换机属于一个特定的可用区。
为什么需要多个交换机?
- 🏢 高可用:节点分布在不同可用区,一个机房故障不影响整体
- ⚡ 负载均衡:流量可以分散到多个可用区
- 📈 扩展性:不同业务可以使用不同的交换机
我们的规划:
- 交换机A:10.0.1.0/24(可用区A)- 254个可用IP
- 交换机B:10.0.2.0/24(可用区B)- 254个可用IP
步骤3.2:创建第一个交换机
🎬 操作说明
在VPC中创建第一个交换机,位于可用区A。
📍 详细步骤
第1步:进入交换机管理
- 在VPC控制台,点击左侧菜单的"交换机"
- 或者在VPC列表中,点击"k8s-vpc"的名称
- 然后点击"交换机"标签页
第2步:点击创建按钮
- 点击页面右上角的"创建交换机"按钮
- 页面会弹出创建对话框
第3步:填写交换机信息
所属VPC:
- 自动选择:k8s-vpc
- 说明:交换机必须属于某个VPC
名称:
- 输入:
k8s-switch-a - 说明:表示这是可用区A的交换机
可用区:
- 选择:
华东1可用区A - 说明:选择第一个可用区
- 重要:记住你选择的可用区
IPv4网段:
- 输入:
10.0.1.0/24 - 说明:这个交换机的IP地址范围
- 可用IP数量:254个(10.0.1.1 到 10.0.1.254)
描述(可选):
- 输入:
可用区A的交换机
第4步:确认创建
- 检查配置:
- ✓ 名称:k8s-switch-a
- ✓ 可用区:华东1可用区A
- ✓ IPv4网段:10.0.1.0/24
- 点击"确定"按钮
第5步:等待创建完成
- 创建过程很快,约3秒
- 交换机状态变为"可用"
✅ 验证点
- 在交换机列表中能看到"k8s-switch-a"
- 状态显示为"可用"
- 可用区显示为"华东1可用区A"
- IPv4网段显示为"10.0.1.0/24"
- 可用IP数显示为"251"(254减去3个保留IP)
步骤3.3:创建第二个交换机
🎬 操作说明
创建第二个交换机,位于可用区B,实现高可用。
📍 详细步骤
第1步:再次点击创建按钮
- 在交换机列表页面
- 点击"创建交换机"按钮
第2步:填写交换机信息
所属VPC:
- 自动选择:k8s-vpc
名称:
- 输入:
k8s-switch-b
可用区:
- 选择:
华东1可用区B - 重要:必须选择不同的可用区
IPv4网段:
- 输入:
10.0.2.0/24 - 注意:网段不能和第一个交换机重复
描述(可选):
- 输入:
可用区B的交换机
第3步:确认创建
- 检查配置:
- ✓ 名称:k8s-switch-b
- ✓ 可用区:华东1可用区B
- ✓ IPv4网段:10.0.2.0/24
- 点击"确定"按钮
第4步:验证两个交换机
- 现在你应该看到2个交换机:
- k8s-switch-a(可用区A,10.0.1.0/24)
- k8s-switch-b(可用区B,10.0.2.0/24)
✅ 验证点
- 交换机列表中有2个交换机
- 两个交换机在不同的可用区
- 两个交换机的网段不重叠
- 所有交换机状态都是"可用"
⚠️ 常见问题
问题1:为什么需要2个交换机?
- 答:实现高可用,节点分布在不同机房
- 一个可用区故障,另一个可用区的节点仍然可用
- 生产环境建议至少3个可用区
问题2:可以只创建1个交换机吗?
- 答:可以,但不推荐
- 单可用区没有高可用保障
- 学习测试可以只用1个,生产环境必须多个
问题3:交换机的网段可以随意选择吗?
- 答:不可以,必须是VPC网段的子集
- VPC是10.0.0.0/8,交换机必须在10.0.0.0-10.255.255.255范围内
- 不同交换机的网段不能重叠
第四部分:配置安全组
步骤4.1:理解安全组
🎬 概念说明
安全组 是虚拟防火墙,控制ECS实例的入站和出站流量。
形象比喻:
- 安全组就像小区的门禁系统
- 入方向规则:控制谁可以进来(外网访问你的服务器)
- 出方向规则:控制你可以访问谁(服务器访问外网)
默认规则:
- 出方向:允许所有(可以访问任何外网地址)
- 入方向:拒绝所有(外网无法访问你的服务器)
我们需要开放的端口:
- 22端口:SSH远程登录
- 80端口:HTTP访问
- 443端口:HTTPS访问
- 6443端口:Kubernetes API Server
- 内网互通:允许VPC内所有流量
步骤4.2:创建安全组
🎬 操作说明
创建一个安全组,并配置必要的规则。
📍 详细步骤
第1步:进入安全组管理
- 在阿里云控制台,找到"云服务器 ECS"
- 点击左侧菜单的"网络与安全" → “安全组”
- 或者直接访问:
https://ecs.console.aliyun.com/#/securityGroup/region/cn-hangzhou
第2步:点击创建按钮
- 点击页面右上角的"创建安全组"按钮
- 页面会显示创建向导
第3步:选择安全组类型
- 你会看到两种类型:
- 普通安全组(推荐)
- 企业安全组
- 选择"普通安全组"
- 点击"下一步"
第4步:填写基本信息
安全组名称:
- 输入:
k8s-security-group
所属VPC:
- 选择:
k8s-vpc - 说明:安全组必须属于某个VPC
描述(可选):
- 输入:
Kubernetes集群安全组
第5步:配置访问规则
页面会显示一些常用场景的快捷配置:
- Web服务器(80/443)
- SSH(22)
- RDP(3389,Windows远程桌面)
- 自定义
我们选择"自定义",然后手动添加规则。
第6步:点击确定
- 先点击"确定"创建安全组
- 创建成功后,我们再添加规则
✅ 验证点
- 在安全组列表中能看到"k8s-security-group"
- 安全组所属VPC为"k8s-vpc"
- 记录下安全组ID(格式:sg-xxxxx)
步骤4.3:添加入方向规则
🎬 操作说明
为安全组添加入方向规则,允许必要的外网访问。
📍 详细步骤
第1步:进入规则配置
- 在安全组列表中,找到"k8s-security-group"
- 点击"操作"列的"配置规则"
- 页面会显示"入方向"和"出方向"两个标签页
- 确保在"入方向"标签页
第2步:添加SSH规则
- 点击"手动添加"按钮
- 填写规则信息:
- 授权策略:允许
- 优先级:1
- 协议类型:自定义TCP
- 端口范围:22/22
- 授权对象:0.0.0.0/0(表示允许所有IP)
- 描述:SSH远程登录
- 点击"保存"
第3步:添加HTTP规则
- 再次点击"手动添加"
- 填写规则信息:
- 授权策略:允许
- 优先级:1
- 协议类型:自定义TCP
- 端口范围:80/80
- 授权对象:0.0.0.0/0
- 描述:HTTP访问
- 点击"保存"
第4步:添加HTTPS规则
- 再次点击"手动添加"
- 填写规则信息:
- 授权策略:允许
- 优先级:1
- 协议类型:自定义TCP
- 端口范围:443/443
- 授权对象:0.0.0.0/0
- 描述:HTTPS访问
- 点击"保存"
第5步:添加K8s API规则
- 再次点击"手动添加"
- 填写规则信息:
- 授权策略:允许
- 优先级:1
- 协议类型:自定义TCP
- 端口范围:6443/6443
- 授权对象:0.0.0.0/0
- 描述:Kubernetes API Server
- 点击"保存"
第6步:添加内网互通规则
- 再次点击"手动添加"
- 填写规则信息:
- 授权策略:允许
- 优先级:1
- 协议类型:全部
- 端口范围:-1/-1
- 授权对象:10.0.0.0/8(VPC网段)
- 描述:VPC内网互通
- 点击"保存"
✅ 验证点
- 入方向规则列表中有5条规则:
- ✓ 22端口(SSH)
- ✓ 80端口(HTTP)
- ✓ 443端口(HTTPS)
- ✓ 6443端口(K8s API)
- ✓ 10.0.0.0/8(内网互通)
⚠️ 常见问题
问题1:授权对象0.0.0.0/0安全吗?
- 答:0.0.0.0/0表示允许所有IP访问
- 对于Web服务(80/443)是必须的
- 对于SSH(22),生产环境建议限制为特定IP
- 学习测试环境可以使用0.0.0.0/0
问题2:为什么要添加内网互通规则?
- 答:K8s节点之间需要互相通信
- Pod之间需要互相访问
- 不添加这条规则,集群无法正常工作
问题3:出方向规则需要配置吗?
- 答:默认出方向允许所有,通常不需要修改
- 除非有特殊安全要求,否则保持默认即可
第五部分:验证网络配置
步骤5.1:检查配置清单
🎬 操作说明
现在我们来验证所有网络配置是否正确。
📍 验证清单
VPC配置:
- VPC名称:k8s-vpc
- IPv4网段:10.0.0.0/8
- 状态:可用
- 地域:华东1(杭州)
交换机配置:
- 交换机A:k8s-switch-a
- 可用区:华东1可用区A
- IPv4网段:10.0.1.0/24
- 状态:可用
- 交换机B:k8s-switch-b
- 可用区:华东1可用区B
- IPv4网段:10.0.2.0/24
- 状态:可用
安全组配置:
- 安全组名称:k8s-security-group
- 所属VPC:k8s-vpc
- 入方向规则:5条
- SSH(22)
- HTTP(80)
- HTTPS(443)
- K8s API(6443)
- 内网互通(10.0.0.0/8)
步骤5.2:记录重要信息
🎬 操作说明
记录下这些ID,后续创建集群时会用到。
📍 需要记录的信息
请在笔记本或文本文件中记录以下信息:
=== 网络配置信息 ===
地域:华东1(杭州)
地域ID:cn-hangzhou
VPC信息:
- VPC名称:k8s-vpc
- VPC ID:vpc-xxxxxxxxxxxxx(在VPC列表中查看)
- IPv4网段:10.0.0.0/8
交换机信息:
- 交换机A ID:vsw-xxxxxxxxxxxxx(在交换机列表中查看)
- 可用区:cn-hangzhou-a
- 网段:10.0.1.0/24
- 交换机B ID:vsw-xxxxxxxxxxxxx(在交换机列表中查看)
- 可用区:cn-hangzhou-b
- 网段:10.0.2.0/24
安全组信息:
- 安全组ID:sg-xxxxxxxxxxxxx(在安全组列表中查看)
💡 小贴士
- 这些ID在创建ACK集群时会用到
- 建议保存到文本文件,方便复制粘贴
- ID格式示例:
- VPC ID:vpc-bp1xxxxxxxxxxxxx
- 交换机ID:vsw-bp1xxxxxxxxxxxxx
- 安全组ID:sg-bp1xxxxxxxxxxxxx
🎉 恭喜!网络配置完成
你已经完成了K8s集群所需的所有网络配置!
📊 完成情况总结
| 资源类型 | 数量 | 状态 |
|---|---|---|
| VPC | 1个 | ✅ 已创建 |
| 交换机 | 2个 | ✅ 已创建 |
| 安全组 | 1个 | ✅ 已创建 |
| 安全组规则 | 5条 | ✅ 已配置 |
💰 费用统计
| 项目 | 费用 |
|---|---|
| VPC | ¥0(免费) |
| 交换机 | ¥0(免费) |
| 安全组 | ¥0(免费) |
| 本章总计 | ¥0 |
🎓 知识回顾
通过本章,你学到了:
- ✅ VPC是什么,为什么需要VPC
- ✅ 如何规划网络地址(CIDR)
- ✅ 交换机和可用区的关系
- ✅ 安全组的作用和配置方法
- ✅ 如何实现高可用的网络架构
🚀 下一步
网络基础已经搭建好,现在可以创建K8s集群了!