目录
一、云计算概述
1. 什么是云计算
定义:
通过互联网按需交付计算资源(服务器/存储/网络/软件),实现 自助服务、弹性伸缩、按量付费。
核心特征:
资源池化:物理资源抽象为共享池(多租户隔离)
泛网络接入:任意设备通过互联网访问
快速弹性:资源秒级扩容/缩容
按需自助:用户自行申请资源(无需人工干预)
服务可计量:按使用量计费(如CPU小时/GB流量)
2. 云计算的服务模型
模型 | 功能 | 用户责任 | 案例 |
---|---|---|---|
IaaS (基础设施即服务) |
提供虚拟化硬件(CPU/存储/网络) | 管理OS、应用、数据 | AWS EC2, 阿里云ECS |
PaaS (平台即服务) |
提供应用运行环境(数据库/中间件) | 只管理应用和数据 | Heroku, Google App Engine |
SaaS (软件即服务) |
提供完整应用(开箱即用) | 仅配置和使用 | Gmail, Salesforce |
二、OpenStack 概述
1. OpenStack 起源
诞生:2010年由 NASA 和 Rackspace 联合发起
初衷:替代商业虚拟化方案,构建开源云操作系统
标志事件:NASA贡献 Nova(计算服务),Rackspace贡献 Swift(对象存储)
2. 什么是OpenStack
定义:
开源 IaaS 云操作系统,控制数据中心的计算、存储、网络资源池,通过API和Web界面管理。
核心组件(关键6大服务):
组件 | 代号 | 功能 |
---|---|---|
计算 | Nova | 管理虚拟机生命周期(基于KVM/Xen) |
网络 | Neutron | 提供SDN网络(VPC/防火墙/负载均衡) |
存储 | Cinder (块) Swift (对象) |
云硬盘 & 对象存储(类似S3) |
身份认证 | Keystone | 用户鉴权与权限管理 |
镜像服务 | Glance | 虚拟机镜像模板仓库 |
控制面板 | Horizon | 图形化管理界面 |
3. OpenStack 优势
优势 | 说明 |
---|---|
开源开放 | 无厂商锁定,代码公开可定制(Apache 2.0协议) |
模块化架构 | 组件松耦合,可按需部署(如仅用Nova+Cinder) |
生态成熟 | 全球社区支持(华为、英特尔等企业贡献),兼容AWS/Azure API |
无缝集成虚拟化 | 支持 KVM, VMware, Xen 等主流虚拟化技术 |
标准云能力 | 完整实现计算/存储/网络虚拟化,满足企业私有云需求 |
三、OpenStack 一键部署
1. 环境介绍
本案例需要提前部署一台新安装操作系统的主机,要求能访问互联网,主机的系统只需采用最小化方式安装。若通过 VMware 等虚拟机软件实现,网络采用桥接模式。
安装部署 OpenStack 环境的主机设备最低配置要求
类型 | 最低配置要求 |
---|---|
CPU | 支持 Intel 64 或 AMD64 CPU 扩展,并启用了 AMD - V 或 Intel VT 硬件虚拟化支持的 64 位 x86 处理器,逻辑 CPU 个数为 4 核 |
内存 | 8GB |
磁盘空间 | 30GB |
网络 | 1 个 1Gbps 网卡 |
案例环境
主机名 | IP 地址 / 掩码 | 角色 |
---|---|---|
openstack | ens33: 192.168.9.137/24 | 安装所有 OpenStack 组件及需要的环境 |
2. 实验需求
本章后续实验步骤用于实现以下需求:
- 使用 packstack 一键部署 OpenStack。
- 创建云主机(OpenStack 中的虚拟机)。
3. 实现思路
本章案例的实现思路大致如下:
- 安装前的准备工作。
- 使用 packstack 一键部署 OpenStack。
- 通过 Dashboard 体验 OpenStack 功能。
4. 基础环境
#关闭防火墙和selinux
[root@bogon ~]# setenforce 0
[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]# systemctl disable firewalld
[root@bogon ~]# vim /etc/selinux/config
#关闭托管服务
[root@bogon ~]# systemctl stop NetworkManager
[root@bogon ~]# systemctl disable NetworkManager
#设置主机名
[root@bogon ~]# hostnamectl set-hostname openstack
[root@bogon ~]# bash
[root@openstack ~]# cat /etc/hostname
#地址映射
[root@openstack ~]# vim /etc/hosts
192.168.10.103 openstack
#内核设置路由转发
[root@openstack ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@openstack ~]# sysctl -p
5. 在线设置仓库
------方法一:联网安装
#基础源设置(设置为阿里的源,官网为https://developer.aliyun.com/mirror/)
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum -y update
#设置Kvm源
系统默认使用rhel的kvm源,不能用于centos的系统,修改此源为阿里的:
[root@openstack ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[Virt]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/7.9.2009/virt/x86_64/kvm-common/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#设置openstack仓库
使用阿里的openstack仓库,如下设置:
[root@openstack ~]# vim /etc/yum.repos.d/train.repo
[train]
name=centos-train
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-train/
gpgcheck=0
enabled=1
#安装部署工具
yum install -y openstack-packstack
rm -rf /etc/yum.repos.d/elrepo.repo
#一键安装
packstack --allinone
6. 离线设置仓库
----------方法二:离线安装
#设置本地的源(提前备好源)
rm -rf /etc/yum.repo.d/*
vim /etc/yum.repo.d/CentOS-Base.repo
[base]
name=base
baseurl=ftp://192.168.2.149/repo/yum-base #本地源的路径
gpgcheck=0
enabled=1
vim /etc/yum.repo.d/CentOS-train.repo
[train]
name=base
baseurl=ftp://192.168.2.149/repo/yum-train
gpgcheck=0
enabled=1
[kvm]
name=base
baseurl=ftp://192.168.2.149/repo/yum-qemu
gpgcheck=0
enabled=1
清理
yum clean all
yum makecache
安装
yum install -y openstack-packstack
rm -rf /etc/yum.repos.d/elrepo.repo
一键安装
packstack --allinone
在使用7.9版本的centos安装openstack--train版本时,提示以下为正确
6. 设置桥接网络
(设置虚拟网卡,这种桥接可以让物理网络的其他主机连接openstack的虚拟机)
[root@openstack ~]# cd /etc/sysconfig/network-scripts/
[root@openstack network-scripts]# cp ifcfg-ens33 ifcfg-br-ex
[root@openstack network-scripts]# vim ifcfg-br-ex
TYPE=OVSBridge
DEVICETYPE=ovs
NAME=br-ex
DEVICE=br-ex
[root@openstack network-scripts]# vim ifcfg-ens33
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex #绑定虚拟网卡
#IPADDR=192.168.10.101
#NETMASK=255.255.255.0
#GATEWAY=192.168.10.254
#DNS1=114.114.114.114
DEFROUTE=yes
[root@openstack ~]# systemctl restart network
四、通过 Dashboard 体验 OpenStack 功能
1:项目
2:管理员
3:身份管理
http://192.168.10.101/dashboard
--登录
在root,home目录下会生成keystonerc_admin文件,里面有密码和账户等信息
修改admin的密码后做个快照
创建云主机
1:创建网络
(1)用admin身份创建public网络
(2)用demo身份创建private网络
(3):用demo身份创建路由
(4):用demo身份为路由器添加私有接口
3:用demo身份创建云主机
(1)添加镜像(把默认的删除掉)
(2)创建实例
4:管理云主机并测试连通性
注意,需要设置网络的桥接