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 通

下一篇:计算功能测试

相关推荐
张忠琳2 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客4 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
牛马工作号8 小时前
Wi‑Fi 完全指南:从 802.11 协议到 Wi‑Fi 7、AC+AP 与 Mesh 工程组网
网络·网络协议·智能路由器
前端Baymax10 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc10 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
阿标在干嘛1 天前
从物理机到K8s:政策快报平台的容器化部署实践
云原生·容器·kubernetes
张青贤1 天前
Centos7离线部署K8s集群V1.28.8
云原生·容器·kubernetes·containerd·kubekey·离线部署
上海安当技术1 天前
K8S 里的密码去哪了?凭据管理系统在容器环境的四种集成实践
云原生·容器·kubernetes
晴空了无痕1 天前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
探索云原生1 天前
Kubernetes 官方出品:一个 Controller 搞定 Job 排队和资源配额
ai·云原生·kubernetes·scheduler