OpenStack 云平台管理

发布于:2025-06-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

一、OpenStack 简介

二、OpenStack 基础环境

三、网络与路由重构

1. 删除默认网络组件

2. 新建外部网络

3. 新建内部网络

4. 配置路由转发

四、云主机创建与网络连通性配置

1. 创建云主机实例

2. 配置外网访问能力

五、浮动 IP 绑定与安全组配置

1. 分配与绑定浮动 IP

2. 安全组规则配置

六、密钥对认证与免密登录

1. 生成与关联密钥对

2. 免密登录验证

七、卷存储管理

1. 创建与挂载卷

2. 卷扩容操作

八、快照与镜像

1. 实例快照创建

2. 卷快照与镜像创建

九、总结:生产环境建议


一、OpenStack 简介

OpenStack 作为开源云计算平台的标杆,其 Dashboard 图形化管理界面极大简化了运维复杂度。本文通过完整案例,带你掌握 OpenStack 核心管理技能,包括网络路由配置、云主机创建、浮动 IP 管理、安全组规则、密钥对认证、卷存储管理、快照与镜像操作等。

案例环境准备

  • 硬件:4 核 CPU、8GB 内存、30GB 磁盘
  • 系统:CentOS 7.3
  • OpenStack 版本:Train
  • IP 地址:192.168.9.236

案例需求

  1. 创建可访问外网的云主机
  2. 实现外部网络 SSH 免密访问
  3. 完成卷挂载、快照与镜像创建

二、OpenStack 基础环境

OpenStack 部署可通过 Packstack 一键安装(详细步骤参考官方文档),部署完成后需确保:

  • 禁用 Firewalld 与 SELinux:​​systemctl stop firewalld && systemctl disable firewalld​
  • 关闭 SELinux:​​setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config​

三、网络与路由重构

1. 删除默认网络组件
# 进入管理员视角删除默认路由器
# 原理:默认路由器连接了外部网络,需先删除路由器才能移除网络
openstack router delete router1  # 删除默认路由器
openstack network delete public   # 删除外部网络
openstack network delete private  # 删除内部网络

2. 新建外部网络
# 创建外部网络(public)
openstack network create --project admin --provider-network-type flat --provider-physical-network extnet --external public
# 参数说明:
# --project admin 指定管理项目
# --provider-network-type flat 使用扁平网络类型
# --external 标记为外部网络

# 创建外部子网
openstack subnet create --network public --subnet-range 172.16.1.0/24 --gateway 172.16.1.1 --no-dhcp public_subnet
# 参数说明:
# --no-dhcp 禁用DHCP,因外部网络不直接为实例分配IP
# --gateway 指定网关IP

3. 新建内部网络
# 创建内部网络(private)
openstack network create --project demo private
# 创建内部子网(启用DHCP)
openstack subnet create --network private --subnet-range 192.168.1.0/24 --gateway 192.168.1.1 --dhcp private_subnet
# 配置DHCP地址池与DNS
openstack subnet set --allocation-pool start=192.168.1.100,end=192.168.1.200 --dns-nameservers 114.114.114.114 private_subnet

4. 配置路由转发
# 创建路由器并关联外部网络
openstack router create route
openstack router set --external-gateway public route
# 原理:启用SNAT实现内部网络访问外网

# 关联内部子网到路由器
openstack router add subnet route private_subnet

四、云主机创建与网络连通性配置

1. 创建云主机实例
# 创建实例(以cirros镜像为例)
openstack server create --image cirros --flavor m1.tiny --network private test
# 参数说明:
# --image cirros 指定基础镜像
# --flavor m1.tiny 指定资源规格
# --network private 指定连接网络

# 查看实例IP
openstack server list

2. 配置外网访问能力
# 开启宿主机IP转发
echo "1" > /proc/sys/net/ipv4/ip_forward
# 配置NAT规则(确保云主机可访问外网)
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o ens33 -j MASQUERADE
# 保存规则防止重启丢失
service iptables save

五、浮动 IP 绑定与安全组配置

1. 分配与绑定浮动 IP
# 从外部网络分配浮动IP
openstack floating ip create public
# 绑定浮动IP到实例
openstack server add floating ip test <浮动IP地址>
# 原理:通过NAT映射实现外部网络访问内部实例

2. 安全组规则配置
# 添加ICMP规则(允许ping测试)
openstack security group rule create --proto icmp --ingress default
# 添加SSH规则(允许22端口访问)
openstack security group rule create --proto tcp --dst-port 22:22 --ingress default
# 参数说明:
# --ingress 定义入口规则
# --dst-port 指定目标端口范围

六、密钥对认证与免密登录

1. 生成与关联密钥对
# 创建密钥对
openstack keypair create my-auth > my-auth.pem
# 关联密钥对到实例(创建实例时指定)
openstack server create --image cirros --flavor m1.tiny --network private --key-name my-auth test-key
# 配置私钥权限
chmod 600 my-auth.pem

2. 免密登录验证
# 通过私钥登录实例
ssh -i my-auth.pem cirros@<浮动IP>
# 原理:SSH密钥对认证通过非对称加密实现免密登录,安全性高于密码认证

七、卷存储管理

1. 创建与挂载卷
# 创建2GB卷
openstack volume create --size 2 test-lv
# 关联卷到实例
openstack server add volume test test-lv
# 登录实例格式化卷
fdisk /dev/vdb  # 分区
mkfs.ext4 /dev/vdb1  # 格式化为ext4文件系统
mount /dev/vdb1 /mnt  # 挂载到/mnt目录

2. 卷扩容操作
# 先分离卷
openstack server remove volume test test-lv
# 扩展卷到3GB
openstack volume set --size 3 test-lv
# 重新关联卷
openstack server add volume test test-lv
# 实例内扩展分区(需重启)
growpart /dev/vdb 1
resize2fs /dev/vdb1

八、快照与镜像

1. 实例快照创建
# 为实例创建快照
openstack server image create --name test-snap test
# 原理:OpenStack实例快照会生成新镜像存储在Glance
# 通过快照创建新实例
openstack server create --image test-snap --flavor m1.tiny --network private test01

2. 卷快照与镜像创建
# 创建卷快照
openstack volume snapshot create --name test01-lv-snap test-lv
# 从卷快照创建新卷
openstack volume create --size 2 --snapshot test01-lv-snap test02-lv
# 导入CentOS镜像
openstack image create --file CentOS-7.qcow2 --disk-format qcow2 --public centos7

九、总结:生产环境建议

  1. 网络优化
  • 外部网络建议使用 VLAN 隔离
  • 生产环境启用 SDN 插件(如 Neutron+OVS)
  1. 安全强化
  • 安全组规则按最小权限原则配置
  • 定期轮换密钥对,禁用密码登录
  1. 存储策略
  • 系统盘与数据盘分离挂载
  • 重要数据卷启用自动快照策略
  1. 高可用设计
  • 控制节点与计算节点分离部署
  • 数据库与消息队列配置集群

从网络架构设计到云主机全生命周期管理,每个环节都体现了 OpenStack 的灵活性与可扩展性。在实际生产环境中,还需结合企业需求进行架构优化与性能调优,充分发挥 OpenStack 在资源池化、弹性扩展方面的优势


网站公告

今日签到

点亮在社区的每一天
去签到