OpenStack on Kubernetes 生产部署实战(十四)

网络功能测试

本文介绍 OpenStack 网络功能的完整测试方案。

系列导航

上一篇:Horizon 管理控制台 | 下一篇:计算功能测试


一、测试准备

1.1 环境检查

bash 复制代码
# 检查网络代理状态
openstack network agent list

# 确保所有 Agent 状态为 UP

二、外部网络测试

2.1 创建外部网络

bash 复制代码
openstack network create --external \
  --provider-network-type flat \
  --provider-physical-network external \
  external-net

openstack subnet create --network external-net \
  --subnet-range 172.16.10.0/24 \
  --gateway 172.16.10.1 \
  --allocation-pool start=172.16.10.100,end=172.16.10.200 \
  external-subnet

2.2 验证外部网络

bash 复制代码
openstack network show external-net
openstack subnet show external-subnet

三、租户网络测试

3.1 创建租户网络

bash 复制代码
openstack network create tenant-net

openstack subnet create --network tenant-net \
  --subnet-range 192.168.100.0/24 \
  --gateway 192.168.100.1 \
  --dns-nameserver 8.8.8.8 \
  tenant-subnet

3.2 验证租户网络

bash 复制代码
openstack network list
openstack subnet list

四、路由器测试

4.1 创建路由器

bash 复制代码
openstack router create tenant-router
openstack router add subnet tenant-router tenant-subnet
openstack router set --external-gateway external-net tenant-router

4.2 验证路由器

bash 复制代码
openstack router show tenant-router
openstack router list

五、浮动 IP 测试

5.1 创建浮动 IP

bash 复制代码
openstack floating ip create external-net

5.2 绑定浮动 IP

bash 复制代码
# 创建测试虚拟机
openstack server create --flavor m1.tiny --image cirros --network tenant-net test-vm

# 绑定浮动 IP
FIP=$(openstack floating ip list -f value -c "Floating IP Address" | head -1)
openstack server add floating ip test-vm $FIP

5.3 测试连通性

bash 复制代码
ping $FIP

六、安全组测试

6.1 配置安全组

bash 复制代码
# 允许 ICMP
openstack security group rule create --proto icmp default

# 允许 SSH
openstack security group rule create --proto tcp --dst-port 22 default

6.2 验证安全组

bash 复制代码
openstack security group rule list default

七、VXLAN 隧道测试

7.1 检查隧道

bash 复制代码
kubectl exec -n openstack <ovs-pod> -- \
  ovs-vsctl show | grep vxlan

7.2 测试跨节点通信

创建两个虚拟机在不同计算节点,测试互通性。


八、测试脚本

bash 复制代码
#!/bin/bash
# network-test.sh

echo "=== 网络功能测试 ==="

# 1. 检查网络代理
echo "[1/6] 检查网络代理"
AGENTS_UP=$(openstack network agent list -f value -c Alive | grep -c ":-)")
echo "UP Agents: $AGENTS_UP"

# 2. 创建网络
echo "[2/6] 创建测试网络"
openstack network create test-net
openstack subnet create --network test-net --subnet-range 192.168.200.0/24 test-subnet

# 3. 创建路由器
echo "[3/6] 创建路由器"
openstack router create test-router
openstack router add subnet test-router test-subnet

# 4. 创建虚拟机
echo "[4/6] 创建虚拟机"
openstack server create --flavor m1.tiny --image cirros --network test-net test-vm
sleep 30

# 5. 分配浮动 IP
echo "[5/6] 分配浮动 IP"
FIP=$(openstack floating ip create external-net -f value -c floating_ip_address)
openstack server add floating ip test-vm $FIP

# 6. 测试连通性
echo "[6/6] 测试连通性"
ping -c 3 $FIP

echo "=== 测试完成 ==="

九、测试结果

测试项 预期结果 实际结果
网络代理状态 12/12 UP
外部网络创建 成功
租户网络创建 成功
路由器创建 成功
浮动 IP 分配 成功
网络连通性 可 ping 通

下一篇:计算功能测试

相关推荐
http阿拉丁神猫6 小时前
kubernetes知识点汇总19~24
云原生·容器·kubernetes
皙然7 小时前
IPv4与IPv6深度解析:从地址枯竭到下一代网络的演进
网络·智能路由器
切糕师学AI7 小时前
K8s中的控制器模式(Controller Pattern)
容器·kubernetes
sanyii3131317 小时前
k8s工作负载-Deployment的参数与灰度发布
云原生·容器·kubernetes
道清茗7 小时前
【Kubernetes知识点问答题】常规维护管理操作 / ETCD 备份与恢复
docker·kubernetes·etcd
lpruoyu7 小时前
【云原生】Kubernetes平台存储系统搭建_CRI、CNI、CSI
ceph·云原生·容器·kubernetes
小糖学代码8 小时前
计算机网络理论:4.网络层
计算机网络·智能路由器
道清茗9 小时前
【Kubernetes知识点问答题】Kustomize、CRD 与 Gateway API
容器·kubernetes·gateway
专注_每天进步一点点9 小时前
流量从bcop网关到apisixroute,再到应用的gateway模块,再到其他服务
docker·kubernetes·gateway
长安110811 小时前
网络基础知识----路由器私网IP与公网IP(NAT)
网络·tcp/ip·智能路由器