基于CentOS的OpenStack环境部署详细教程(OpenStack安装)

效果展示:


环境准备controller节点:

6GB

4H

60GB/30GB/30GB

compute节点

6GB

4H

60G/60G

admin节点(ceph admin管理节点)

2GB

4H

60GB/6GB

OpenStack简介

OpenStack是一个开源的云平台管理项目,可以用于构建公有云或私有云平台,提供了基础设施及服务(Iaas)的解决方案,OpenStack是一个云操作系统,通过数据中心可控制计算、存储、网络等资源池,OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面,通过OpenStack可以启动、分配和管理虚拟机资源,所有的管理也都可以通过前端界面完成。

OpenStack核心组件Nova

计算管理服务,管理虚拟机实例的整个生命周期,负责虚拟机的创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁,资源分配等操作,通过API对外提供服务,使用KeyStone来进行身份验证,使用Horizon作为其管理接口,使用Glance提供其镜像,这样使得Nova可管理计算资源、网络和认证。

Neutron

网络管理服务,为多租户环境下的每个租户提供独立的网络环境,Neutron为整个OpenStack环境提供网络支持,可以定义Network,Subent(子网),Router(路由),配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN等,并且支持众多流行的网络管理插件,如:OpenvSwitch。

Cinder

块存储服务,支持不同的存储后端,包括ceph,glusterfs等,它是存储虚拟机以及虚拟机使用的数据的基础,Cinder提供了块存储设备的访问以及管理,对OpenStack主机,存储以块设备的形式出现,使用ISCSI,NFS,ceph或其他一些专门协议作为后端的连接;Cinder的接口指定了一系列的独立的功能,包括创建卷、删除卷、挂载卷等基本功能,还有一些高级功能如扩展卷、快照、从VM镜像克隆等。

Swift

对象存储服务,为OpenStack集群提供跨节点的分布式大规模对象存储服务,它是通过RESTful接口来存储和检索非结构化的数据对象,它是一个高容错可伸缩的存储架构。对象存储是将相应的数据存储为二进制对象,而不是文件,一般通过一条指令就可以存储或检索到整个对象。

Keystone

认证管理服务,是OpenStack框架中负责管理身份验证、服务规则和服务令牌功能的模块,管理Domains、Project、Users、Groups、Roles,使用MySQL作为统一的数据库,用户访问资源需要验证用户的身份和权限,服务执行操作也需要进行权限检测,这些都需要通过Keystone来处理,OpenStack服务通过Keystone来注册其Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过KeyStone的身份验证,获得到目标的Endpoint,然后再调用。

Glance

镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包括镜像的查找,注册,检索,导入,格式,以及制作相应的模板,它支持多种虚拟机镜像格式,有创建镜像、删除镜像、编辑镜像基本信息的功能,Glance提供RESTfulAPI可以查询虚拟机镜像的metadata以及获取镜像,Glance可以将镜像保存到多种后端存储上,比如简单的文件存储或者对象存储。

Horizon

用户交互界面,是OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等

安装CentOS

yum install vim

在cmd窗口输入以下命令查看网段

ipconfig /all

修改网卡信息

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.12.18
PREFIX=24
GATEWAY=192.168.12.1
DNS1=192.168.111.2

重启网络服务

service network restart

controller

ens33 192.168.12.18(提供浮动IP,出网地址)

ens34 192.168.12.118(内网之间通信)

compute

ens33 192.168.12.140(提供浮动IP,出网地址)

ens34 192.168.12.240(内网之间通信)

# 立即重启
shutdown -r now

初始化各节点

yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server

关闭防火墙、networkmanager,iptables,selinux(各个节点操作)

systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager
systemctl stop iptables && systemctl disable iptables

修改selinux

vim /etc/sysconfig/selinux
SELINUX=disabled

修改hosts

vim /etc/hosts
192.168.12.118 controller
192.168.12.240 compute

修改主机名

hostnamectl set-hostname controller
hostnamectl set-hostname compute

时间同步

ntpdate cn.pool.ntp.org

配置无密码登陆,各个节点操作

ssh-keygen -t rsa
#一直回车即可
ssh-copy-id -i .ssh/id_rsa.pub controller
ssh-copy-id -i .ssh/id_rsa.pub computer

用xftp上传openstack离线软件包到root目录下(在controller和compute节点操作)

在root下创建一个目录openstack,然后把软件包解压到这个目录下

mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz 

把openstack目录整体移动到/下(controller和computer节点操作)

mv openstack /

重新配置yum源(controller和computer节点都操作)

cd /etc/yum.repos.d/
mkdir bak
mv CentOS-* bak/
mv epel* bak/
cp bak/CentOS-Base.repo ./

生成一个新的openstack的yum源

cat <<EOF > /etc/yum.repos.d/openstack.repo
[openstack]
enable=1
gpgcheck=0
baseurl=file:///openstack
EOF

清缓存

yum makecache

openstack应答文件安装(controller节点操作)

yum install centos-release-openstack-newton -y
cd /etc/yum.repos.d
mv *.repo bak/
cp bak/openstack.repo ./
cp bak/CentOS-Base.repo ./

清缓存

yum makecache
yum install openstack-packstack -y
cd /root
packstack --gen-answer-file=openstack.txt 

结束后会生成一个应答文件openstack.txt

修改openstack.txt文件

修改的内容如下

CONFIG_DEFAULT_PASSWORD=123456
CONFIG_SWIFT_INSTALL=n
CONFIG_NAGIOS_INSTALL=n
CONFIG_CINDER_VOLUMES_SIZE=10G
CONFIG_PROVISION_DEMO=n
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_CONTROLLER_HOST=192.168.12.118
CONFIG_COMPUTE_HOSTS=192.168.12.240
CONFIG_NETWORK_HOSTS=192.168.12.240

基于应答文件安装组件

packstack --answer-file=openstack.txt

安装过程需要查看iptables状态,在controller和computer节点

systemctl status iptables

如果发现iptables处于active状态,需要停掉

systemctl stop iptables

看到如下说明安装成功

Installation completed successfully

启动rabbitmq的管理界面(controller节点操作)

rabbitmq-plugins enable rabbitmq_management

在浏览器访问

192.168.124.200:15672

账号:guest

密码:guest

登陆openstack的dashboad界面

在浏览器输入:

192.168.124.200

账号:admin

密码:

获取密码

cd /root
cat keystonerc_admin

KeyStone配置优化

在controller节点操作

修改keystone.conf

vim /etc/keystone/keystone.conf 

在default字段下面添加如下一行

memcache_servers = 192.168.12.118:11211

重启服务

systemctl restart httpd

如果OpenStack可以正常访问则代表配置成功

glance配置优化

修改glance-api.conf

vim /etc/glance/glance-api.conf 

在顶部添加

memcache_servers = 192.168.12.118:11211

修改glance-registry.conf

vim /etc/glance/glance-registry.conf 

在顶部添加

memcache_servers = 192.168.12.118:11211

重启服务

systemctl restart openstack-glance-api
systemctl restart openstack-glance-registry

nova配置优化在controller节点修改

修改nova.conf

vim /etc/nova/nova.conf

在顶部添加memcahce缓存

memcache_servers = 192.168.12.118:11211

原来是只有地址,没有http协议,需要加上http协议

api_servers=http://192.168.12.118:9292 

在第一行[DEFAULT]下面加上这行

transport_url=rabbit://guest:guest@192.168.12.118 

原来的ip改成这个,并且打开注释

my_ip=192.168.12.118

原来是0.0.0.0,现在改成这个

vncserver_listen=192.168.12.118

原来是主机名,改成这个主机IP

vncserver_proxyclient_address=192.168.12.118

上面修改好之后重新启动服务

systemctl restart openstack-nova-api.service \
 openstack-nova-consoleauth.service openstack-nova-scheduler.service \
 openstack-nova-conductor.s:ervice openstack-nova-novncproxy.service

在compute节点修改

修改配置文件nova.conf

vim /etc/nova/nova.conf 

在第一行[DEFAULT]字段加如下一行

memcache_servers=192.168.12.118:11211

这行注释打开,变成这个ip地址

transport_url=rabbit://guest:guest@192.168.12.118

这行注释打开,ip变成这个主机ip

api_servers=http://192.168.12.118:9292 

这行注释打开,变成这个ip地址

my_ip=192.168.12.240

这行注释打开,变成这个ip地址

vncserver_proxyclient_address=192.168.12.240

这行注释打开,变成这个ip地址

novncproxy_base_url=http://192.168.12.118:6080/vnc_auto.html

这行注释打开

virt_type=qemu

上面修好好了之后重新启动服务

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl restart libvirtd.service openstack-nova-compute.service

查看日志,没有报错

cat /var/log/nova/nova-compute.log

启动之后在controller节点查看日志

cat /var/log/nova/nova-api.log

如果没有报错即可

Neutron配置优化

在controller节点操作

修改配置文件neutron.conf

vim /etc/neutron/neutron.conf

新增加一行

memcache_servers = 192.168.12.118:11211

找到transport_url,新增加一行(消息队列rabbit地址在controller节点上)

transport_url = rabbit://guest:guest@192.168.12.118

找到lock_path,改为绝对路径

lock_path=/var/lib/neutron/tmp

修改ml2_conf.ini

vim /etc/neutron/plugins/ml2/ml2_conf.ini

修改vni_ranges

vni_ranges = 10:10000

上面两个文件修改好之后重启服务

systemctl restart neutron-server

新开一个端口查看日志,没有报错即可

tail -f /var/log/neutron/server.log 

在compute节点操作

创建一个桥接网卡,桥接到能够访问外网的那个网卡,也就是ens33

cd /etc/sysconfig/network-scripts
mkdir bak
cp ifcfg-ens33 bak/
vim ifcfg-br-ex

复制内容到ifcfg-br-ex

DEVICE=br-ex
BOOTPROTO=static
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=192.168.12.140
NETMASK=255.255.255.0
DNS1=192.168.111.2
GATEWAY=192.168.12.1
vim ifcfg-ens33

将原有内容删除,替换为如下内容

# 设备名
DEVICE=ens33
# 是否开启开机自启
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
#桥接到哪个网卡上
OVS_BRIDGE=br-ex

重启网卡

service network restart

修改配置文件neutron.conf

vim /etc/neutron/neutron.conf 

新增加一行配置文件

transport_url = rabbit://guest:guest@192.168.12.118

新增加一行

memcached_servers=192.168.12.118:11211 

原来的路径变成这个

lock_path=/var/lib/neutron/tmp 

修改三层的和浮动ip相关的配置文件

cd /etc/neutron
vim l3_agent.ini

这行注释去掉

ovs_integration_bridge = br-int

这行注释打开

availability_zone = nova

修改配置文件metadata_agent.ini

vim metadata_agent.ini 

这行注释打开

nova_metadata_port = 8775

这行注释打开

nova_metadata_protocol = http 

新增加一行

memcached_servers=192.168.12.118:11211 

修改配置文件dhcp_agent.ini

vim dhcp_agent.ini 

这行注释打开

ovs_integration_bridge = br-int

原来是False,需要变成True

enable_metadata_network = True

新增加一行

dhcp_domain = test.localdomain

原来的注释打开,修改成外网的dns地址

dnsmasq_dns_servers = 192.168.111.2

这行注释打开

dnsmasq_lease_max = 16777216

这行注释打开

availability_zone = nova

上面修改好了之后重启服务

systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service

到此这篇关于基于CentOS的OpenStack环境部署(OpenStack安装)的文章就介绍到这了,更多相关CentOS的OpenStack环境部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Centos7环境准备openstack pike的安装

    本文介绍了Centos7环境准备openstack pike的安装,分享给大家,具体如下: ##1.Centos7环境准备 #Centos 7 x86_64 #安装 yum -y install wget vim ntp net-tools tree openssh #更换阿里源 mv /etc/yum.repos.d/CentOS-Base.repo{,.bak} wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.c

  • CentOS 6.4下安装部署OpenStack云计算平台的方法

    前言 OpenStack 是一个开源的 IaaS(基础设施及服务)云计算平台,让任何人都可以自行建立和提供云端运算服务. OpenStack 由一系列相互关联的项目提供云基础设施解决方案的各个组件,核心项目(9 个): 1.计算 (Compute) - Nova: 2.网络和地址管理 - Neutron: 3.对象存储 (Object) - Swift: 4.块存储 (Block) - Cinder: 5.身份 (Identity) - keystone: 6.镜像 (Image) - Glan

  • CentOS系统中一键安装Openstack图文教程

    前言 首先找到一个国外的网站, http://openstack.redhat.com/Main_Page,进入到quickstart页面中 简单翻译如下: 用到的工具是一个被成为RDO的东东, 能够在基于RHEL内核的linux系统,如RedHat,CentOS,Scientific Linux下,快速实现三步安装.  一:安装RDO软件 sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm 二:安装一个叫packsta

  • centos下最简安装openstack——使用packstack详解

    摘要: 先决条件:系统需要有两块硬盘和两张网卡. 配置网卡,如果系统已经能够联网则跳过此步 vi /etc/sysconfig/network-scripts/ifcfg-eth0; 修改 ONBOOT=yes; service network restart 安装wget,如果已经安装则跳过此步 yum install wget -y 分区用于cinder-volumes fdisk /dev/sdb; n p 1 ret ret w; vgcreate cinder-volumes /dev

  • CentOS 一键安装Openstack详细介绍

     CentOS 一键安装Openstack 最近再看Openstack相关知识,一直想试试安装一下,可是参考了很多资料,并不如人意.由于一直用的Linux版本为CentOS,大部分Openstack安装都要求在Ubuntu上进行.我也不知到什么原因,并不喜欢Ubuntu,可能是觉得太花哨了,而且总提示更新什么的,好了,废话不多说. 找到一个网站,国外的,  http://openstack.redhat.com/Main_Page,进入到quickstart页面中,简单翻译如下: 用到的工具是一

  • Vmware+Centos7搭建Openstack环境(网络配置)

    Vmware12+Centos7搭建Openstack环境-网络配置 一.虚拟机配置 根据OpenStack官方的教程,节点的环境中比较重要的就是网络的配置,首先先在虚拟机中进行设置,选择编辑中的虚拟网络编辑器 按照官方给的配置需求 主要配置两个网卡接口 interface1 网关10.0.0.1 nat模式 interface2 选择虚拟网络编辑器中的VMnet8,nat设置如下 这里网关没有选择10.0.0.2,原因是之前查资料查到在虚拟机中,10.0.0.1的地址被当前主机使用,所以网关应

  • 基于CentOS的OpenStack环境部署详细教程(OpenStack安装)

    效果展示: 环境准备controller节点: 6GB 4H 60GB/30GB/30GB compute节点 6GB 4H 60G/60G admin节点(ceph admin管理节点) 2GB 4H 60GB/6GB OpenStack简介 OpenStack是一个开源的云平台管理项目,可以用于构建公有云或私有云平台,提供了基础设施及服务(Iaas)的解决方案,OpenStack是一个云操作系统,通过数据中心可控制计算.存储.网络等资源池,OpenStack覆盖了网络.虚拟化.操作系统.服务

  • Kubernetes(K8S)容器集群管理环境完整部署详细教程-中篇

    本文系列: Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇 Kubernetes(K8S)容器集群管理环境完整部署详细教程-中篇 Kubernetes(K8S)容器集群管理环境完整部署详细教程-下篇 接着Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇继续往下部署: 八.部署master节点 master节点的kube-apiserver.kube-scheduler 和 kube-controller-manager 均以多实例模式运行:kube-sc

  • Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇

    Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术.Kubernetes是一个用于容器集群的自动化部署.扩容以及运维的开源平台. 本文系列: Kubernetes(K8S)容器集群管理环境完整部署详

  • 部署维护docker环境的详细教程

    1,安装环境说明 系统环境:centos6.6 服务应用了:  haproxy  confd   etcd   docker 主机名               ip   服务角色 dockerha-152    192.168.36.152    haproxy confd dockerEtcd-153     192.168.36.153      etcd dockermain-154    192.168.36.154    docker 2,安装依懒包,关闭冲突的服务 官方文档要求Li

  • Kubernetes(K8S)容器集群管理环境完整部署详细教程-下篇

    本文系列: Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇 Kubernetes(K8S)容器集群管理环境完整部署详细教程-中篇 Kubernetes(K8S)容器集群管理环境完整部署详细教程-下篇 在前一篇文章中详细介绍了Kubernetes(K8S)容器集群管理环境完整部署详细教程-中篇,这里继续记录下Kubernetes集群插件等部署过程: 十一.Kubernetes集群插件 插件是Kubernetes集群的附件组件,丰富和完善了集群的功能,这里分别介绍的插件有cor

  • CentOS 7.x下的LEMP环境搭建详细教程

    最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M

  • Spring Boot 开发环境热部署详细教程

    在实际的项目开发过中,当我们修改了某个java类文件时,需要手动重新编译.然后重新启动程序的,整个过程比较麻烦,特别是项目启动慢的时候,更是影响开发效率.其实Spring Boot的项目碰到这种情况,同样也同样需要经历重新编译.重新启动程序的过程. 只不过 Spring Boot 提供了一个spring-boot-devtools的模块,使得 Spring Boot应用支持热部署,无需手动重启Spring Boot应用,,提高开发者的开发效率.接下来,聊一聊Spring Boot 开发环境热部署

  • Centos8最小化部署安装OpenStack Ussuri的详细教程

    Centos8最小化部署安装OpenStack Ussuri的教程如下所示: #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #1.控制节点内存4096M.双网卡,分别为eth0:10.0.0.11,eth1:10.0.0.12 #2.计算节点内存2048M.双网卡,分别为eth0:10.0.0.31,eth1:10.0.0.32 #设置阿里云yum源 curl -o /etc/yum.repos.d/Cen

  • VMware安装Linux CentOS 7.7系统的详细教程

    如何在Vmware安装Linux CentOS 7.7系统,并且是最小化安装.之后进行必要的配置修改,并实现基础优化.最后做一个快照. 安装Linux CentOS 7.7 安装要求:安装后的虚拟机用于服务器,因此要最小化安装,不要安装多余的软件,也不需要安装图形化界面. 虚拟机如何创建参见:「VMware如何创建虚拟机并设置虚拟机网络>」 启动虚拟机 安装CentOS 7 选择(通过上下键切换选项)第一个,安装CentOS 7 键盘及语言选择 选择键盘模式,选择语言以及语言所在国家(比如:美国

  • Nginx Linux安装部署详细教程

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载Nginx及相关组件 Linux系统是Centos 6.5 64位,我直接切换到root用户下安装 进入用户目录下载程序 下载相关组件 [root@localhost src]# wget http://nginx.org/download/nginx-1.10.2.tar.gz 省略安装内容...

随机推荐