Openstack

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JReno/article/details/91046900

云计算基础

什么是云计算

  • 基于互联网的相关服务的增加、使用和交付模式
  • 这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池
  • 这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互
  • 通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源

什么是云?

  • 对于到底什么是云计算,至少可以找到100种解释
  • 现阶段广为接受的是美国国家标准与技术研究院

(NIST)定义:

  • 云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入少量的管理工作,或与服务供应商进行很少的交互

云计算三大服务模式

  • 软件、应用
    SaaS Software-as-a-Service
  • 平台、运行环境
    PaaS Platform-as-a-Service
  • 基础设施
    IaaS Infrastructure-as-a-Service

IaaS

  • IaaS(Infrastructure as a Service),即基础设施即服务
  • 提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序
  • IaaS通常分为三种用法:公有云、私有云和混合云

PaaS

  • PaaS (Platform-as-a-Service),意思是平台即服务
  • 以服务器平台或者开发环境作为服务进行提供就成为了PaaS
  • PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,还针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务
  • 简单地说,PaaS平台是指云环境中的应用基础设施服务,也可以说是中间件即服务

SaaS

  • SaaS(Software-as-a-Service)软件即服务,是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务
  • 用户不用再购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动,不用对软件进行维护,提供商会全权管理和维

知名云服务商

  • 国外:亚马逊AWS、微软Azure、IBM SCE+、…
  • 国内:华为云、阿里云、百度云、腾讯云、…

云计算产品选购建议

  • 要考虑服务商的知名度、靠谱度
  • 以个人/企业实际需求为本
  • 比如云主机、数据库、CDN、安全等,选择性价比最优的

Openstack简介

什么是Openstack

  • OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的项目
  • OpenStack是一套IaaS解决方案
  • OpenStack是一个开源的云计算管理平台
  • 以Apache许可证为授权

Openstack主要组件

Horizon

  • 用于管理Openstack各种服务的、基于web的管理接口
  • 通过图形界面实现创建用户、管理网络、启动实例等操作

Keystone

  • 为其他服务提供认证和授权的集中身份管理服务
  • 也提供了集中的目录服务
  • 支持多种身份认证模式,如密码认证、令牌认证、以及AWS(亚马逊Web服务)登陆
  • 为用户和其他服务提供了SSO认证服务

Neutron

  • 一种软件定义网络服务
  • 用于创建网络、子网、路由器、管理浮动IP地址
  • 可以实现虚拟交换机、虚拟路由器
  • 可用于在项目中创建VPN

Cinder

  • 为虚拟机管理存储卷的服务
  • 为运行在Nova中的实例提供永久的块存储
  • 可以通过快照进行数据备份
  • 经常应用在实例存储环境中,如数据库文件

Glance

  • 扮演虚拟机镜像注册的角色
  • 允许用户为直接存储拷贝服务器镜像
  • 这些镜像可以用于新建虚拟机的模板

Nova

  • 在节点上用于管理虚拟机的服务
  • Nova是一个分布式的服务,能够与Keystone交互实现认证,与Glance交互实现镜像管理
  • Nova被设计成在标准硬件上能够进行水平扩展
  • 启动实例时,如果有则需要下载镜像

部署Openstack

一,准备三台虚拟机

准备虚拟机 3 台,配置入下

  1. openstack 管理主机
  • 2CPU,6G 内存,50G 硬盘
  • 配置静态IP:192.168.1.10
  1. nova01,nova02 计算节点 * 2
  • 2CPU,4.5G 内存,100G 硬盘
  • 配置静态IP:192.168.1.11(12)

二,配置DNS

(1)系统环境准备
三台做同样的配置
openstack 安装时候需要使用外部 dns 来解析域名

vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114 设置真机DNS地址

注:去掉search开头的所有行

(2)将 openstack 域名对应的 IP 解析到我们安装的openstack 服务器

vim /etc/hosts
192.168.1.10 openstack
192.168.1.11 nova01
192.168.1.12 nova02

注:DNS 服务器不能与 openstack 安装在同一台主机上

三,配置NTP时间服务器

nova 服务器之间的时间必须保持一致

三台虚拟机都需要改

(1)编辑配置文件 /etc/chrony.conf

 server 192.168.1.254 iburst     //同步真机的时间

(2)重启服务

systemctl restart chronyd

(3)测试服务

[root@openstack ~]# chronyc sources -v //出现*号代表NTP时间可用
^* gateway 2 6 17 62 -753us[-7003us] +/- 24ms

四,openstack主机配置yum仓库

警告:仅yum配置的第一个源(系统源)为gpgcheck=1需要导入公钥,其他的都是gpgcheck=0,否则安装会报错。

[root@openstack ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/centos-1804"
enabled=1
gpgcheck=1
[extras]
name=extras
baseurl=ftp://192.168.1.254/extras
enable=1
gpgcheck=0
[1local_devtools-rpms]
name=devtools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0
[2local_optools-rpms]
name=optools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-optools-rpms"
enabled=1
gpgcheck=0
[3local_rpms]
name=rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0
[4local_tools-rpms]
name=tools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-openstack-10-tools-rpms"
enabled=1
gpgcheck=0
[5local_mon-rpms]
name=mon-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-mon-rpms"
enabled=1
gpgcheck=0
[6local_osd-rpms]
name=osd-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-osd-rpms"
enabled=1
gpgcheck=0
[7local_rhceph-2-tools-rpms]
name=rhceph-2-tools-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhceph-2-tools-rpms"
enabled=1
gpgcheck=0
[8local_agent-rpms]
name=agent-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-agent-rpms"
enabled=1
gpgcheck=0
[9local_installer-rpms]
name=installer-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-installer-rpms"
enabled=1
gpgcheck=0
[10local_rhscon-2-main-rpms]
name=rhscon-2-main-rpms
baseurl="ftp://192.168.1.254/openstack/rhel-7-server-rhscon-2-main-rpms"
enabled=1
gpgcheck=0

五,安装额外软件包

安装openstack期间,有些软件包所依赖的软件包,并没有在安装过程中安装,这些软件包需提前安装

三台机器都需要安装

[root@openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

六,检查基础环境

检查基础环境

  • 是否卸载firewalld 和 NetworkManager
  • 检查配置主机网络参数(静态IP)
  • 主机名必须能够相互 ping 通
  • 检查配置主机yum源
  • 依赖软件包是否安装
  • 检查NTP服务器是否可用
  • 检查 /etc/resolv.conf 不能有 search 开头的行

七,安装openstack

(1)安装 openstack 需要使用 packstack,首先安装 openstack-packstack

[root@openstack ~]# yum -y install openstack-packstack

(2)使用 packstack 创建通用应答文件

[root@openstack ~]# packstack --gen-answer-file answer.ini  

//answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
Packstack changed given value to required value /root/.ssh/id_rsa.pub

(3)修改配置文件

[root@openstack ~]# vim answer.ini
42: CONFIG_SWIFT_INSTALL=n
45: CONFIG_CEILOMETER_INSTALL=n
49: CONFIG_AODH_INSTALL=n
53: CONFIG_GNOCCHI_INSTALL=n
75: CONFIG_NTP_SERVERS=192.168.1.254       //NTP服务器地址
98: CONFIG_COMPUTE_HOSTS=192.168.1.11      //在哪台机器上安装nova组件
102: CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11   //哪台机器支持vxlan网络
333: CONFIG_KEYSTONE_ADMIN_PW=a			//密码
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan		//驱动类型
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   //物理网桥的名称
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   //br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
1179: CONFIG_PROVISION_DEMO=n   //DEM0 是否测试

(4)一键部署Openstack
如果前期环境准备无误,只要耐心等待安装结束即可
根据主机配置不同,安装过程需要20分钟左右或更久
如果出现错误,根据屏幕上给出的日志文件进行排错

[root@openstack ~]# packstack --answer-file=answer.ini

八,网络配置

(1)多结算节点的拓扑图
在这里插入图片描述

在这里插入图片描述

(1)查看外部OVS网桥
br-ex为外部OVS网桥

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
ONBOOT="yes"
NM_CONTROLLED="no"
IPADDR="192.168.1.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.254"
DEVICE=br-ex
NAME=br-ex
DEVICETYPE=ovs
OVSBOOTPROTO="static"
TYPE=OVSBridge

(2)查看外部OVS网桥端口
eth0为外部OVS网桥的端口

[root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=br-ex
ONBOOT=yes
BOOTPROTO=none

(3)验证OVS配置

  1. ovs-vsctl show
  2. ip -o addr show
[root@openstack ~]# ovs-vsctl show
Bridge br-ex
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
... ...
Port br-ex
Interface br-ex
type: internal
Port "eth0"
Interface "eth0"

Openstack操作基础

Horizon配置

概述

  • Horizon是一个用以管理、控制OpenStack服务的Web控制面板,也称之为Dashboard仪表盘
  • 可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例
  • 基于python的django web框架进行开发

功能与特点

  • 实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等
  • 访问与安全管理:创建安全群组,管理密钥对,设置浮动IP等
  • 偏好设定:对虚拟硬件模板可以进行不同偏好设定
  • 镜像管理:编辑或删除镜像
  • 用户管理:创建用户等
  • 卷管理:创建卷和快照
  • 对象存储处理:创建、删除容器和对象

Horizon BUG 处理

(1)安装虽然没有报错,但默认无法打开 Horizon,这是一个软件的配置 BUG

[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 

ServerAlias localhost
WSGIDaemonProcess apache group=apache processes=3
threads=10 user=apache
WSGIProcessGroup apache
WSGIApplicationGroup %{GLOBAL}      <--- 这里添加
  • 重新载入配置文件 apachectl graceful

(2)web页面登录

[root@room9pc01 ~]# firefox http://192.168.1.10/dashboard

(3)命令行接口

初始化环境变量

[root@openstack ~]# source ~/keystonerc_admin
[root@openstack ~(keystone_admin)]# env | grep OS
HOSTNAME=openstack.com.cn
OS_REGION_NAME=RegionOne
OS_PASSWORD=admin
OS_AUTH_URL=http://192.168.1.10:5000/v2.0
OS_USERNAME=admin
OS_TENANT_NAME=admin

(4)使用帮助

[root@openstack ~(keystone_admin)]# openstack help

项目管理

基本概念
  • 项目:一组隔离的资源和对象。由一组关联的用户进行管理
  • 在旧版本里,也用租户(tenant)来表示
  • 根据配置的需求,项目对应一个组织、一个公司或是一个使用客户等
  • 项目中可以有多个用户,项目中的用户可以在该项目创建、管理虚拟资源
  • 具有admin角色的用户可以创建项目
  • 项目相关信息保存到MariaDB中
  • 缺省情况下,packstack安装的openstack中有两个独立的项目
    admin:为admin账户创建的项目
    services:与安装的各个服务相关联

在Horizon中管理项目

  • 通过Horizon可以进行项目的创建和删除
    在这里插入图片描述

  • 通过命令行管理项目

(1)创建名为myproject项目

[root@openstack ~(keystone_admin)]# openstack project create myproject

(2)列出所有项目

[root@openstack ~(keystone_admin)]# openstack project list

(3)查看myproject详细信息

[root@openstack ~(keystone_admin)]# openstack project show myproject

(4)禁用与激活项目

[root@openstack ~(keystone_admin)]# openstack project set --disable myproject
[root@openstack ~(keystone_admin)]# openstack project set --enable myproject

(5)查看项目配额

[root@openstack ~(keystone_admin)]# nova quota-show --tenant myproject

(6)更新可用vcpu数目为30

[root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject

(7)删除myproject

[root@openstack ~(keystone_admin)]# openstack project delete myproject

基本概念

  • 用户在openstack中用于身份认证
  • 管理员用户admin一般在packstack安装过程中创建
  • 其他用户由管理员用户创建,并指定可以访问的项目
  • 非管理员用户创建后,保存到MariaDB中

非管理员用户具有以下权限

  • 启动实例
  • 创建卷和快照
  • 创建镜像
  • 分配浮动IP
  • 创建网络和路由器
  • 创建防火墙以及规则、规则策略
  • 查看网络拓扑、项目使用概况等

通过Horizon管理用户

  • 首先,创建名为myproject项目,保持默认配置

在这里插入图片描述

  • 创建user1用户,指定项目为myproject

在这里插入图片描述

通过命令行管理用户
(1)创建user2用户,指定密码为123

[root@openstack ~(keystone_admin)]# openstack user create --password 123 user2

(2)设置user2的email地址

[root@openstack ~(keystone_admin)]# openstack user set --email user2@qq.com user2

(3)列出所有用户

[root@openstack ~(keystone_admin)]# openstack user list

(4)查看user2信息

[root@openstack ~(keystone_admin)]# openstack user show user2

(5)指定user2可以访问myproject,角色为_member_

[root@openstack ~(keystone_admin)]# openstack role add --user user2 --project myproject _member_

(6)查看user2在myproject中的角色

[root@openstack ~(keystone_admin)]# openstack role list --project myproject --user user2

(7)禁用用户

[root@openstack ~(keystone_admin)]# openstack user set --disable user2

(8)激活用户

[root@openstack ~(keystone_admin)]# openstack user set --enable user2

(9)修改user2的密码为redhat

[root@openstack ~(keystone_admin)]# openstack user set --password redhat user2

(10)将user2从myproject中移除

[root@openstack ~(keystone_admin)]# openstack role remove --project myproject --user user2 _member_

(11)删除user2用户

[root@openstack ~(keystone_admin)]# openstack user delete user2

配额管理

配额基础
  • 管理员可以通过配额限制,防止资源的过度使用
  • 配额基本项目,限制每个项目可以使用多少资源
  • 这些操作上的功能限制,赋予了管理员对每个项目的精准控制

资源参数

  • 安全组规则:指定每个项目可用的规则数
  • 核心:指定每个项可用的VCPU核心数
  • 固定IP地址:指定每个项目可用的固定IP数
  • 浮动IP地址:指定每个项目可用的浮动IP数
  • 注入文件大小 :指定每个项目内容大小
  • 注入文件路径:指定每个项目注入的文件路径长度
  • 注入文件:指定每个项目允许注入的文件数目
  • 实例:指定每个项目可创建的虚拟机实例数目
  • 密钥对:指定每个项可创建的密钥数
  • 元数据:指定每个项目可用的元数据数目
  • 内存:指定每个项目可用的最大内存
  • 安全组:指定每个项目可创建的安全组数目

通过Horizon管理配额
在这里插入图片描述

通过命令行管理配额
(1)列出项目的缺省配额

[root@openstack ~(keystone_admin)]# nova quota-defaults

(2)列出myproject的配额

[root@openstack ~(keystone_admin)]# nova quota-show --tenant myproject

(3)修改浮动IP地址配额

[root@openstack ~(keystone_admin)]# nova quota-update --floating-ips 20 myproject

云主机类型管理

云主机类型

基本概念

  • 云主机类型就是资源的模板
  • 它定义了一台云主机可以使用的资源,如内存大小、磁盘容量和CPU核心数等
  • Openstack提供了几个默认的云主机类型
  • 管理员还可以自定义云主机类型

云主机类型参数

  • Name:云主机类型名称
  • ID:云主机类型ID,系统自动生成一个UUID
  • VCPUs:虚拟CPU数目
  • RAM(MB):内存大小
  • Root disk(GB):外围磁盘大小。如果希望使用本地磁盘,设置为0
  • 临时磁盘:第二个外围磁盘
  • swap磁盘:交换磁盘大小

通过Horizon管理云主机类型

在这里插入图片描述
通过命令行管理云主机类型
(1)列出所有的云主机类型

[root@openstack ~(keystone_admin)]# openstack flavor list

(2)创建一个云主机类型

[root@openstack ~(keystone_admin)]# openstack flavor create --public demo.tiny --id auto --ram 512 --disk 10 --vcpus 1

(3)删除云主机类型

[root@openstack ~(keystone_admin)]# openstack flavor delete demo.tiny

镜像基础

基本概念

  • 在红帽Openstack平台中,镜像指的是虚拟磁盘文件,磁盘文件中应该已经安装了可启动的操作系统
  • 镜像管理功能由Glance服务提供
  • 它形成了创建虚拟机实例最底层的块结构
  • 镜像可以由用户上传,也可以通过红帽官方站点下载

Glance磁盘格式

  • raw:非结构化磁盘镜像格式
  • vhd:VMware、Xen、Microsoft、VirtualBox等均支持的通用磁盘格式
  • vmdk:是Vmware的虚拟磁盘格式
  • vdi:VirtualBox虚拟机和QEMU支持磁盘格式
  • iso:光盘数据内容的归档格式
  • qcow2:QEMU支持的磁盘格式。空间自动扩展,并支持写时复制copy-on-write

镜像服务

  • 镜像服务提供了服务器镜像的拷贝、快照功能,可以作为模板快速建立、起动服务器
  • 镜像服务维护了镜像的一致性
  • 当上传镜像时,容器格式必须指定
  • 容器格式指示磁盘文件格式是否包含了虚拟机元数据

镜像容器格式

  • bare:镜像中没有容器或元数据封装
  • ovf:一种开源的文件规范,描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式
  • ova:OVA归档文件
  • aki:亚马逊内核镜像
  • ami:亚马逊主机镜像

镜像应用

通过Horizon管理镜像
在这里插入图片描述
通过命令行管理镜像
(1)上传镜像

[root@openstack ~(keystone_admin)]# openstack image create --disk-format qcow2 --min-disk 10 --min-ram 512 --file /root/small.img small_rhel6

(2)列出镜像

[root@openstack ~(keystone_admin)]# openstack image list

(3)查看镜像详情

[root@openstack ~(keystone_admin)]# openstack image show small_rhel6

(4)修改镜像属性

[root@openstack ~(keystone_admin)]# openstack image set --public small_rhel6

(5)另存镜像为本地文件

[root@openstack ~(keystone_admin)]# openstack image save --file /tmp/small_rhel6.img small_rhel6

(6)删除镜像

[root@openstack ~(keystone_admin)]# openstack image delete small_rhel6

网络管理

网络和路由

Openstack网络工作原理

  • 实例被分配到子网中,以实现网络连通性
  • 每个项目可以有一到多个子网
  • 在红帽的Openstack平台中,OpenStack网络服务是缺省的网络选项,Nova网络服务作为备用
  • 管理员能够配置丰富的网络,将其他Openstack服务连接到这些网络的接口上
  • 每个项目都能拥有多个私有网络,各个项目的私有网络互相不受干扰

网络类型

  • 项目网络:由Neutron提供的项目内部网络,网络间可用VLAN隔离
  • 外部网络:可以让虚拟机接入外部网络,但需要配置浮动IP地址
  • 提供商网络:将实例连接到现有网络,实现虚拟机实例与外部系统共享同一二层网络

通过Horizon创建网络

  • 项目网络由租户在自己的项目中创建
    在这里插入图片描述

通过Horizon设置外部网络

  • 外部网络只有管理员有权限设置
    在这里插入图片描述

配置路由器

  • 内外网通过路由器连接起来

在这里插入图片描述

  • 创建路由接口,与内网相连

在这里插入图片描述

通过命令行管理网络
(1)创建网络

[root@openstack ~(keystone_admin)]# openstack network create --project myproject --enable internal

(2)创建子网

[root@openstack ~(keystone_admin)]# neutron subnet-create --name subnet3 --gateway 192.168.1.254 --allocation-pool start=192.168.1.100,end=192.168.1.200 --enable-dhcp internal 192.168.1.0/24 --tenant-id ff387162978643f894cdd1c98597160c

(3)查看网络详情

[root@openstack ~(keystone_admin)]# openstack network show internal

(4)新建路由器

[root@openstack ~(keystone_admin)]# neutron router-create --tenant-id
ff387162978643f894cdd1c98597160c r2

(5)删除网络

[root@openstack ~(keystone_admin)]# openstack network delete internal
[root@openstack ~(keystone_admin)]# neutron router-delete r2

浮动IP地址

  • 浮动IP地址的作用
  • 浮动 IP 一般是花钱购买的
  • 浮动IP地址用于从外界访问虚拟机实例
  • 浮动IP地址只能从现有浮动IP地址池中分配
  • 创建外部网络时,浮动IP地址池被定义
  • 虚拟机实例起动后,可以为其关联一个浮动IP地址
  • 虚拟机实例也可以解除IP地址绑定

在Horizon中管理浮动IP地址
在这里插入图片描述

通过命令行管理浮动IP地址
(1)分配地址

[root@openstack ~(keystone_admin)]# neutron floatingip-create --tenant-id
ff387162978643f894cdd1c98597160c WAN

(2)查看地址

[root@openstack ~(keystone_admin)]# neutron floatingip-list

安全管理

安全组

  • 安全组用于控制对虚拟机实例的访问
  • 安全组在高层定义了哪些网络及哪些协议是被授权可以访问虚拟机实例的
  • 每个项目都可以定义自己的安全组
  • 项目成员可以编辑默认的安全规则,也可以添加新的安全规则
  • 所有的项目都有一个默认的default安全组

安全组规则

  • 安全组规则定义了如何处理网络访问
  • 规则基于网络或协议定义
  • 每个规则都有出和入两个方向
  • 规则也可以指定ip协议版本
  • 默认的安全组规则,允许虚拟机实例对外访问,但是阻止所有对虚拟机实例的访问

创建安全组及规则

  • 创建安全组
    在这里插入图片描述

  • 点击新建安全组的管理规则,进行规则定义

在这里插入图片描述

在Horizon中创建云主机

在这里插入图片描述
绑定浮动IP地址

  • 远程主机通过访问浮动IP地址来访问云主机
    在这里插入图片描述

计算节点扩容

环境准备

基础环境准备

  • 扩容 openstack 计算节点(nova02)
  • 参考 nova01 配置过程
  • 配置静态 ip:192.168.1.12,及主机名
  • 保证与 openstack,和 nova01 能相互 ping 通
  • 配置 /etc/resolv.conf ,删除 search 开头行
  • 配置时间同步 /etc/chrony.conf
  • 配置 yum 源,软仓库一共 4 个( 10670 )
  • 安装依赖软件包 qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

安装计算节点

修改应答文件

  • openstack 计算节点采用远程安装
  • 即 在 openstack 上执行指令,远程安装 nova02
  • 远程安装使用 ssh 指令,从 openstack 上必须能够通过 ssh 命令 登录 nova02

在 openstack 上修改配置文件

[root@openstack ~]# vim answer.ini
98: CONFIG_COMPUTE_HOST=192.168.1.11,192.168.1.12
102:CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11,192.168.1.12

安装节点

  • 在openstack上重新执行安装命令
[root@openstack ~]# packstack --answer-file answer.ini
  • 按提示,输入远程主机root密码
  • 本机已安装服务,不会被覆盖,只有改动后的选项才
    需要重新配置
  • 安装后,apache 配置已被还原,需要重新添加
[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 
... ...
WSGIApplicationGroup %{GLOBAL}
... ...

[root@openstack ~]# systemctl restart httpd

查看节点状态

登录admin账户,查看云主机数量

迁移云主机

  • 有多个 nova 计算节点的时候,我们可以选择性的把某一个云主机从某台机器上迁移到另外一台机器上

迁移条件

  • nova 计算节点与 openstack 管理节点都能相互 ping通,主机名称也要能 ping 通
  • 所有计算节点安装 qemu-img-rhev,qemu-kvm-rhev
  • 如未安装,在安装以后需要重启 libvirtd 服务

热迁移验证方式

nova01和nova02上分别执行 watch -n 1 "virsh list" 查看各自平台上的节点

登录admin账户,查看云主机数量,选择其中一个平台上的节点迁移到另一个平台,比如将nova02上的一个主机迁移到nova01上,选择编辑云主机->云主机热迁移->需要前往的云主机->块设备迁移

展开阅读全文

没有更多推荐了,返回首页