一、了解云计算
1.1 云计算的概念
-
云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资、网络资源等。
-
云计算服务运行在若干台高性能物理服务器之上,提供每秒 10 万亿次的运算能力,可以用于模拟核爆炸、预测气候变化以及市场发展趋势。
-
云计算是一种模型,提供无论在何时何地都可以便捷获取所需资源的模型,并能够让用 户根据需要快速创建应用,并且在不需要时进行资源释放。
-
云计算有广义和狭义之分:
-
狭义的云计算是指通过网络按需向用户提供 IT 基础设施,包括硬件、平台和软件,提供资源的网络被称为“云”。
-
广义的云计算是指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所需的 服务。这种服务可以是 IT 和软件、互联网相关的,也可以是任意其他的服务。
-
1.2 云计算服务模型
云计算模型中有 IaaS(Infrastructure as a Service,基础架构即服务)、PaaS(Platform as a Service,平台即服务)、SaaS(Software as a Service,软件即服务)三种基本服务模型。
-
laaS(基础架构即服务)
·提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等
·面向对象一般是IT管理人员
-
PaaS(平台即服务)
·把安装好开发环境的系统平台作为一种服务通过互联网提供给用户
·面向对象一般是开发人员
-
SaaS(软件即服务)
·直接通过互联网为用户提供软件和应用程序等服务
·面向对象一般是普通用户
二、OpenStack
2.1 OpenStack概述
-
NASA(美国国家航空航天局)和Rackspace共同发起
-
以Apache许可证授权的自由软件和开放源代码项目
-
为公有云及私有云的建设与管理提供软件的开源项目
-
覆盖了网络、虚拟化、操作系统、服务器等各个方面
-
2019 年 10 月OpenStack 发布了最新版本 Train。一般情况下,OpenStack 每半年左右更新一次版本
2.2 OpenStack常见的8个核心项目(即OpenStack服务):
服务 | 项目名称 | 描述 |
---|---|---|
Compute(计算服务) | Nova | 负责实例生命周期的管理,计算资源的单位。对 Hypervisor 进行屏蔽,支持多种虚拟化技术(红帽默认为 KVM),支持横向扩展。 |
Network(网络服务) | Neutron | 负责虚拟网络的管理,为实例创建网络拓扑结构。是面向租户的网络管理,可以自定义网络,并使租户之间互不影响。 |
Identity(身份认证服务) | Keystone | 类似于 LDAP 服务,对用户、租户和角色、服务进行认证与授权, 并且支持多认证机制。 |
Dashboard(控制面板服务) | Horizon | 提供一个 Web 管理界面,与 OpenStack 底层服务进行交互。 |
Image Service(镜像服务) | Glance | 提供虚拟机镜像模板的注册与管理,将做好的操作系统复制为镜像模板,在创建虚拟机时直接使用。可支持多格式的镜像。 |
Block Storage(块存储服务) | Cinder | 负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费,支持多种后端存储。 |
Object Storage(对象存储服务) | Swift | 为 OpenStack 提供基于云的弹性存储,支持集群无单点故障。 |
Telemetry(计量服务) | Ceilometer | 用于度量、监控和控制数据资源的集中来源,为 OpenStack 用户提供记账途径。 |
2.3 openStack优势
-
控制性
完全开源的平台,提供API接口,方便与第三方技术集成
-
兼容性
OpenStack兼容其他公有云,方便用户进行数据迁移
-
可扩展性
模块化设计,可以通过横向扩展,增加节点、添加资源
-
灵活性
根据自己的需要建立相应基础设施、增加集群规模
-
行业标准
众多IT领军企业已经加入到OpenStack项目
三、packstack一键部署OpenStack
环境配置
-
8G4核
-
开启CPU虚拟化功能
-
配置静态IP:172.16.10.10
-
修改主机名
hostnamectl set-hostname openstack
-
网络yum源
CentOS-Base.repo
-
更新系统即常用软件
yum -y update
-
关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i "s/.*SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
-
禁用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
-
添加hosts文件
cat >> /etc/hosts << EOF
172.16.10.10 openstack
EOF
3.1 Train 版 YUM 源安装
[root@openstack ~]# yum -y install centos-release-openstack-train
3.2 Packstack 软件包安装
[root@openstack ~]# yum -y install openstack-packstack
3.3 Packstack 一键部署 OpenStack
[root@openstack ~]# packstack --allinone Applying Puppet manifests [ DONE ] Finalizing [ DONE ] **** Installation completed successfully ****** Additional information: ##出现successfully表示成功了 *File /root/keystonerc_admin has been created on OpenStack client host 172.16.10.10. To use the command line tools you need to source the file. *To access the OpenStack Dashboard browse to http://172.16.10.10/dashboard . ##登录页面http://172.16.10.10/dashboard Please, find your login credentials stored in the keystonerc_admin in your home directory. *The installation log file is available at: /var/tmp/packstack/20210901-194236-5mUnew/openstack-setup.log *The generated manifests are available at: /var/tmp/packstack/20210901-194236-5mUnew/manifests #若安装中报错,修复后必须使用packstack --answer-file= 来指定之前部署生成的配置文件 [root@openstack ~]# packstack --answer-file=安装后当前目录下生成的packstack配置文件
3.4 查看登录用户及密码
[root@openstack ~]# cat keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin ##登录用户 admin export OS_PASSWORD='81a7af7313ce46d2' ##登录密码为 81a7af7313ce46d2 export OS_REGION_NAME=RegionOne export OS_AUTH_URL=http://172.16.10.10:5000/v3 export PS1='[\u@\h \W(keystone_admin)]\$ ' export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_IDENTITY_API_VERSION=3
3.5 创建br-ex网卡配置文件
# 查看br-ex的ip地址 [root@openstack ~]# ifconfig br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.24.4.1 netmask 255.255.255.0 broadcast 172.24.4.255 inet6 fe80::50cc:ecff:fef9:e049 prefixlen 64 scopeid 0x20<link> ether 52:cc:ec:f9:e0:49 txqueuelen 1000 (Ethernet) RX packets 1760 bytes 137052 (133.8 KiB) RX errors 0 dropped 8 overruns 0 frame 0 TX packets 1648 bytes 158176 (154.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 # 为br-ex网卡写配置文件 [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=Ethernet BOOTPROTO=static NAME=br-ex DEVICE=br-ex ONBOOT=yes IPADDR=172.24.4.1 NETMASK=255.255.255.0
3.6 登录OpenStack管理页面,创建实例
-
上传镜像
点击“计算”—>"镜像"—>“添加镜像”—>"镜像命名、格式、公开"—>"添加镜像"
-
创建实例
点击“计算”—>点击"实例"—>"详情"—>"实例命名"—>点击"下一步"
|——>点击"源"—>"创建新卷选择''不”“—>"分配选择上传的镜像"—>点击"下一步"
|——>点击"实例类型"—>“选择要创建实例的配额”—>点击"创建实例"