🎯 本章目标

完成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端口
CIDRIP地址范围表示法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集群所需的所有网络配置!

📊 完成情况总结

资源类型数量状态
VPC1个✅ 已创建
交换机2个✅ 已创建
安全组1个✅ 已创建
安全组规则5条✅ 已配置

💰 费用统计

项目费用
VPC¥0(免费)
交换机¥0(免费)
安全组¥0(免费)
本章总计¥0

🎓 知识回顾

通过本章,你学到了:

  • ✅ VPC是什么,为什么需要VPC
  • ✅ 如何规划网络地址(CIDR)
  • ✅ 交换机和可用区的关系
  • ✅ 安全组的作用和配置方法
  • ✅ 如何实现高可用的网络架构

🚀 下一步

网络基础已经搭建好,现在可以创建K8s集群了!

👉 点击进入:03-创建ACK集群


📚 相关文档