安装OpenStack(Newton版本,两个结点)

2023-05-16

接到通知,要搭建OpenStack环境。这次是第一次搭建OpenStack,边学习边搭建,查了很多资料,也走了一些弯路。根据项目的情况,并未安装块存储服务和一些额外服务。最开始计划安装三个节点,后来发现只需要两个节点,改了设计方案,额外花了一些时间,共花了大约十天安装完成。现记录一下安装步骤:

安装环境:在Win10系统上安装了VMWare;在VMWare中安装了两个虚拟机作为两个节点,都是CentOS7系统;OpenStack使用Newton版本;

一,安装虚拟机,并且相互可以ping通
1.修改这个文件,有几个修改几个
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.0.0.11
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=8.8.8.8
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
2.修改主机名
hostnamectl set-hostname 主机名
3.查看主机名是否修改成功
hostnamectl status
4.修改hosts文件
vi /etc/hosts
10.0.0.11 controller
10.0.0.21 network
10.0.0.31 compute1
5.重启网络
systemctl restart network.service
6.关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
二,安装相关的包
参考网站:
http://www.cnblogs.com/kaishirenshi/p/7642658.html
https://www.abcdocker.com/abcdocker/1793
http://www.aboutyun.com/thread-13067-1-1.html
1.yum -y install ntp wget net-tools //
2.yum -y install yum-plugin-priorities //安装yum插件库
3.yum -y install epel-release //安装epel扩展库
4.yum-y install centos-release-openstack-newton

5.yum-y install https://repos.fedorapeople.org/repos/openstack/openstack-newton/rdo-release-newton-5.noarch.rpm
6.yum upgrade
更新完成后一定要重启启动虚拟机
7.yum -y install python-openstackclient //会把openstack常用的客户端都进行安装
8.yum install -y openstack-selinux //安装openstack SELinux管理包
9.yum -y install ntp
10.cp /etc/ntp.conf /etc/ntp.conf.bak
11.修改文件,保持时间同步
vi /etc/ntp.conf
server 127.127.1.0 iburst //其他节点使用 server controller iburst
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
12.启动服务,并将其配置为随系统自动启动
systemctl enable ntpd
systemctl start ntpd.service
13.重启服务
systemctl restart ntpd.service
14.查看服务状态
systemctl status ntpd.service
ntpq -c assoc
ntpq -c peers
ntpstat //如果显示是64s就说明成功了
注意:关于系统无法自动启动ntp服务,解决方法
1)#systemctl status ntpd
查看ntp状态发现是inactive
ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled)
   Active: inactive (dead)    
2)# systemctl disable chronyd.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
3)重新启动系统
注意:如果时间不正确,请设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl
15.yum -y install mariadb-server MySQL-python
16.编辑修改数据内容
#vi/etc/my.cnf.d/mariadb_openstack.cnffile
[mysqld]
bind-address=10.0.0.11//监听的地址,也就是controller地址default-storage-engine = innodbinnodb_file_per_tablecollation-server =utf8_general_ciinit-connect = 'SET NAMES utf8'character-set-server = utf8
17.启动并自启动数据库服务
# systemctl enable mariadb.service
# systemctl start mariadb.service
18.对数据库设置密码并测试
#mysql_secure_installation
#mysql -uroot -proot //如果能进入,说明成功
#exit //退出数据库
19.安装message queue
#yum install rabbitmq-server
20.启动并自启动服务
#systemctl enable rabbitmq-server.service
#systemctl start rabbitmq-server.service
21.对RabbitMQ进行密码设置,同时可以验证该服务是否正常工作。
#rabbitmqctl add_user openstack root //设置用户名openstack密码root
#rabbitmqctl set_permissions root ".*" ".*" ".*" //给用户赋予最大的权限
三,安装身份认证(KeyStone)
官网地址

https://docs.openstack.org/newton/install-guide-rdo/glance.html
1.为Keystone创建数据库
#mysql -uroot -proot //用户名root,密码root
CREATEDATABASE keystone; //使用show databases查看是否创建成功
GRANTALLPRIVILEGESONkeystone.* TO'keystone'@'localhost'IDENTIFIED BY'KEYSTONE_DBPASS'; //KEYSTONE_DBPASS是keystone访问数据要使用的密码
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
#exit //退出数据库
2.生成一个随机值,作为管理令牌 (可省略)
# openssl rand -hex 10 // 我的值 6a07b3e71102ba7505fa
3.安装keystone 组件
# yum install openstack-keystone httpd mod_wsgi
4.编辑文件
#vi /etc/keystone/keystone.conf
复制下面的二行到文件对应的位置

provider = fernet//复制到[token]下面
小技巧:如何去掉linux配置文件的注释行和空行
grep -v "^#" file | grep -v "^$" > temp
rm file
mv temp file
5.#su -s /bin/sh -c "keystone-manage db_sync" keystone //同步修改到数据库
6 .初始化fernet keys
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
#keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
7.引导身份认证服务

#keystone-manage bootstrap --bootstrap-passwordADMIN_PASS--bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:35357/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
8.修改文件
1)编辑文件 vi/etc/httpd/conf/httpd.conf :
ServerNamecontroller# 添加
2)# LN -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
参考网站:
http://blog.csdn.net/titan0427/article/details/52084781
http://www.cnblogs.com/liu-yao/p/5940587.html
http://www.aboutyun.com/thread-13080-1-1.html
https://docs.openstack.org/newton/install-guide-rdo/keystone-install.html
9.安装完成启动服务
systemctl enable httpd.service
systemctl start httpd //或者systemctl start httpd.service
10.配置管理账户
$export OS_USERNAME=admin
$ export OS_PASSWORD=ADMIN_PASS
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://controller:35357/v3
$ export OS_IDENTITY_API_VERSION=3
11.创建一个项目
openstack project create --domain default --description "Demo Project" demo
openstack project create --domain default \
--description "Service Project" service
12.创建demo用户
openstack user create --domain default --password-prompt demo //密码是root
13.创建user角色
openstack role create user
14.将user角色添加到demo项目和用户
openstack role add --project demo --user demo user
15.出于安全原因,请禁用临时身份验证令牌机制:
编辑/etc/keystone/keystone-paste.ini 文件并删除admin_token_auth[pipeline:public_api][pipeline:admin_api][pipeline:api_v3]段。
16.取消设置临时 变量OS_AUTH_URLOS_PASSWORD环境变量:
unset OS_AUTH_URL OS_PASSWORD
17.作为demo用户,请求身份验证令牌:
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name demo --os-username demo token issue
18.创建脚本
1) vi admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
2) vi demo-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=root //如果修改过密码,写修改后的
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
19.使用脚本
$ source admin-openrc
$ openstack token issue
$ source demo-openrc
$ openstack token issue
出现表格表示正确哦

四.安装镜像

1.#mysql -uroot -proot
2.create database glance;
3.GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'root';
4.GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'root';
5.退出数据库 exit
6.$ source admin-openrc
7.openstack user create --domain default --password-prompt glance //密码root
8.将admin角色添加到glance用户和 demo项目中:
$openstack role add --project service --user glance admin
9.创建glance服务实体
$ openstack service create --name glance \ --description "OpenStack Image" image
10.创建镜像服务API端点:
$ openstack endpoint create --region RegionOne \ image public http
://controller:9292
$ openstack endpoint create --region RegionOne \ image internal http://controller:9292
$ openstack endpoint create --region RegionOne \ image admin http://controller:9292
安装和配置的部件:
11.安装软件包:
# yum install openstack-glance
12.glance安装官网亲测好使,前面有问题的步骤已改,官网地址:

connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone//复制到[database]下面

https://docs.openstack.org/newton/install-guide-rdo/glance-install.html

13.编辑/etc/glance/glance-api.conf文件完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

...

connection=mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

替换GLANCE_DBPASS为镜像服务数据库的密码

在[keystone_authtoken]和[paste_deploy]部分中,配置keystone服务访问:

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=glance

password=root(自己设的密码)

[paste_deploy]

flavor=keystone

注意:注释掉或删除该[keystone_authtoken]部分中的其他选项。

在该[glance_store]部分中,配置本地文件系统存储和映像文件的位置

[glance_store]

stores=file,http

default_store=file

filesystem_store_datadir=/var/lib/glance/images/

编辑/etc/glance/glance-registry.conf文件并完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

connection=mysql+pymysql://glance:root@controller/glance

root为镜像服务数据库密码

在[keystone_authtoken]和[paste_deploy]部分中,配置身份服务访问:

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=glance

password=root

[paste_deploy]

flavor=keystone

注:注释掉或删除掉该[keystone_authtoken]部分中的其他选项

填充镜像服务数据库:

#su -s /bin/sh -c "glance-manage db_sync" glance

注:忽略此输出中的任何弃用消息

完成安装

启动镜像服务并将其配置为在系统启动时启动

#systemctl enable openstack-glance-api.service\openstack-glance-registry.service

#systemctl start openstack-glance-api.service\openstack-glance-registry.service

验证操作

注意:在控制节点上执行这些命令

获取admin证书来访问只有管理员能使用的CLI命令:

$.admin-operc

下载源镜像

$wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

注:如果你安装的版本不包括wget,请安装wget

使用QCOW2磁盘格式将镜像上传到镜像服务器,暴露容器格式,一边所有程序能访问它:

$openstack image create "cirros"\

--file cirros-0.3.4-x86_64-disk.img\disk-format qcow2 --container-format bare\--public

之后出现一个表格

确认图像的上传和验证属性:

$openstack image list

五、计算服务

前提条件

创建数据库、服务凭据和API端点:

创建数据库:

书用数据库访问客户端,以root身份链接到数据库服务器:

$mysql -u root -p

创建nova_api和nova数据库:

CREATE DATABASE nova_api;

CREATE DATABASE nova;

授予对数据库的访问权限:

GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost'\IDENTIFIED BY 'root';

GRANT ALLPRIVILEGES ON nova_api.* TO 'nova'@'%'\IDENTIFIED BY 'root';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \IDENTIFIED BY 'root';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \IDENTIFIED BY 'root';

退出数据库访问客户端。

$.admin-operc

创建服务证书,完成以下步骤:

创建nova用户

$openstack user create --domain default\--password -prompt nova

填入两次密码

将admin角色添加到nova用户:

$openstack role add --project service --user nova admin

注:该命令不提供输出

创建nova服务实体:

$openstack service create --name nova\ 

--description "OpenStack" compute

然后出一个表格

创建计算服务APIA端点

$openstack endpoint create --region RegionOne \

compute public http://controller:8774/v2.1/%\(tenant_id\)s

然后出现一个表格

$openstack endpoint create --region RegionOne \

compute internal http://controller:8774/v2.1/%\(tenant_id\)s

出现表格

$openstack endpoint create --region RegionOne \

compute admin http://controller:8774/v2.1/%\(tenant_id\)s

安装和配置的部件

安装软件包

#yum install openstack-nova-api openstack-nova-conductor\ 

openstack-nova-console openstack-nova-novncproxy\

openstack-nova-scheduler

编辑/etc/nova/nova.conf文件并完成以下操作:

在[DEFAULT]部分中,启用计算和元数据API:

[DEFAULT]

enabled_apis=osapi_compute,metadata

在[api_database]和[database]部分中,配置数据库访问:

[api_database]

connection=mysql+pymysql://nova:root@controller/nova_api

[database]

connection=mysql+pymysql://nova:root@controller/nova

root为Compute数据库密码

在该[DEFAULT]部分中,配置RabbitMQ消息队列访问:

[DEFAULT]

transport_url=rabbit://openstack:root@controller

root是为该OpenStack账户选择的RabbitMQ密码。

在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:

[DEFAULT]

auth_strategy=keystone

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=nova

password=root

root为在nova身份识别中为用户选择的密码。

注:注释或删除该[keystone_authtoken]部分中的其他选项(本次搭建中删除)

在[DEFAULT]部分中,将该my_ip选项配置为使用控制器节点的管理接口IP地址:

[DEFAULT]

my_ip=10.0.0.11

在本[DEFAULT]节中,启用对网络服务的支持:

[DEFAULT]

use_neutron=True

firewall_driver=nova.virt.firewall.NoopFirewallDriver

注:默认情况下,Compute使用内部防火墙驱动程序。由于网络服务包含防火墙驱动程序,因此必须使用nova.virt.firewall.NoopFirewallDriver防火墙驱动程序禁用计算机防火墙驱动程序。

在本[vnc]节中,将VNC代理配置为使用控制器节点的管理接口IP地址:

[vnc]

vncserver_listen=$my_ip

vncserver_proxyclient_address=$my_ip

在[glance]部分中,配置Image Service API的位置:

[glance]

api_servers=http://controller:9292

在该[oslo_concurrency]部分中,配置锁定路径:

[oslo_concurrency]

lock_path=/var/lib/nova/tmp

填充Compute数据库:

#su -s /bin/sh -c "nova-manage api_db sync" nova

#su -s /bin/sh -c "nova-manage db sync" nova

注:忽略这个输出中的任何反对信息

完成安装:

启动计算服务并配置为系统启动时启动:

#systemctl enable openstack-nova-api.service \

openstack-nova-consoleauth.service openstack-nova-scheduler.service \

openstack-nova-conductor.service openstack-nova-novncproxy.service

#systemctl start openstack-nova-api.service \

openstack-nova-consoleauth.service openstack-nova-scheduler.service \

openstack-nova-conductor.service openstack-nova-novncproxy.service

安装并配置计算节点(计算服务)

安装和配置组件

安装软件包:

#yum install openstack-nova-compute

编辑/etc/nova/nova.conf文件并完成以下操作:

在[DEFAULT]部分中,配置RabbitMQ消息队列访问:

[DEFAULT]

transport_url=rabbit://openstack:root@controller

root是为该openstack账户选择的密码

在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:

[DEFAULT]

auth_strategy=keystone

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=nova

password=root

root为在nova身份识别服务中为用户选择的密码。

注:注释掉或删除该[keystone_authtoken]部分中的其他选项。

在该[DEFAULT]部分中,配置my_ip选项:

[DEFAULT]

my_ip=MANAGEMENT_INTERFACE_IP_ADDRESS

替换MANAGEMENT_INTERFACE_IP_ADDRESS为计算节点上管理网络接口的IP地址,通常为10.0.0.31。

在本[DEFAULT]节中,启动对网络服务的支持:

[DEFAULT]

use_neutron=True

firewall_driver=nova.virt.firewall.NoopFirewallDriver

注:默认情况下,Compute使用内部防火墙服务。由于Networking包含防火墙服务,因此您必须使用nova.virt.firewall.NoopFirewallDriver防火墙驱动程序禁用Compute防火墙服务。

在本[vnc]节中,启用和配置远程控制台访问:

[vnc]

enable=True

vncserver_listen=0.0.0.0

vncserver_proxyclient_address=$my_ip

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

在该[glance]部分中,配置Image Service API的位置:

[glance]

api_servers=http://controller:9292

在该[oslo_concurrency]部分中,配置锁定路径:

[oslo_concurrency]

lock_path=/var/lib/nova/tmp

完成安装

确定计算节点是否支持虚拟机的硬件加速:

$egrep -c '(vmx|svm)'/proc/cpuinfo

如果此命令返回值,则您的计算节点支持通常不需要额外配置的硬件加速。

如果此命令返回值zero,则您的计算节点不支持硬件加速,您必须配置libvirt 为使用QEMU而不是KVM。

编辑文件中[libvirt]部分 /etc/nova/nova.conf如下:

[libvirt]

virt_type=qemu

启动计算服务,并将其配置为随着系统启动而启动:

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

#systemctl start libvirtd.service openstack-nova-compute.service

验证操作:

$.admin-openrc

$openstack compute service list


六、网络服务


安装配置控制节点

必须创建数据库,服务凭据和API端点

创建数据库

使用数据库访问客户端以root用户身份连接到数据库服务器:

$mysql -u root -p

创建neutron数据库:

CREATE DATABASE neutron;

授予对neutron数据库的正确访问权限,替换root为合适的密码:

GRANT ALL PRIVILEGES ON neutron,* TO 'neutron'@'localhost' \ IDENTIFIED BY 'root';

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%'\IDENTIFIED BY 'root';

退出数据库

$.admin-operc

要创建服务证书,请完成以下步骤:

创建neutron用户:

$openstack user create --domain default --password-prompt neutron

输出两次密码

admin角色添加neutron用户:

$openstack role aadd --project service --user neutron admin

该命令没有输出

创建neutron服务实体:

$openstack service create --name neutron\

--description "OpenStack Networking" neiwork

创建网络服务API端点:

$openstack endpoint create --region RegionOne\

network public http://controller:9696

$openstack endpoint create --region RegionOne \ 

network internal http://controller:9696

$openstack endpoint create --region RegionOne \ 

network admin http://controller:9696

配置网络选项

这里选择了网络选项1:提供商网络

在控制器节点上俺咋混个并配置网络组件

安装组件:

#yum install openstack-neutron openstack-neutron-ml2\

openstack-neutron-linuxbridge ebtables

配置服务器组件:

网络服务器组件配置包括数据库,身份验证机制,消息队列,拓扑更改通知和插件。

编辑/etc/neutron/neutron.conf文件并完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

connection=mysql+pymysql://neutron:root@controller/neutron

root是为数据库·选择的密码

注:注释或删除[database]部分中其他connection选项

在本[DEFAULT]节中,启用Modular Layer 2(ML2)插件并禁用其他插件:

[DEFAULT]

core_plugin=ml2

service_plugins=

在该[DEFAULT]部分中,配置RabbitMQ 消息队列访问:

[DEFAULT]

transport_url=rabbit://openstack:root@controller

替换RABBIT_PASS为您openstack在RabbitMQ中帐户选择的密码 

[DEFAULT][keystone_authtoken]部分中,配置身份服务访问:

[DEFAULT]

auth_strategy=keystone

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=neutron

password=root

root为您neutron 在身份识别服务中用户选择的密码

注:注释或删除该[keystone_authtoken]部分中的其他选项

[DEFAULT][nova]部分中,配置网络来通知计算网络拓扑更改:

[DEFAULT]

notify_nova_on_port_status_changes=True

notify_nova_on_port_data_changes=True

[nova]

auth_url=http://controller:35357

auth_type=password

project_domain_name=Default

user_nodamin_name=Default

region_name=ReginOne

project_name=service

username=nova

password=root

替换root为您nova 在身份识别服务中用户选择的密码

在该[oslo_concurrency]部分中,配置锁定路径:

[oslo_concurrency]

lock_path=/var/lib/neutron/tmp

配置模块化层2(ML2)插件

ML2插件使用Linux桥接机制为实例构建第2层(桥接和交换)虚拟网络基础设施。

编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作:

在本[ml2]节中,启用平面和VLAN网络:

[ml2]

type_drivers=flat.vlan

在本[ml2]节中,禁用自助服务网络:

[ml2]

tenant_network_types=

在本[ml2]节中,启用Linux桥接机制:

[ml2]

mechanism_drivers=linuxbridge

注:配置ML2插件后,删除type_drivers选项中的值可能会导致数据库不一致

在该[ml2]部分中,启用端口安全扩展驱动程序:

[ml2]

extension_drivers=port_security

在本[ml2_type_flat]节中,将提供者虚拟网络配置为flat网络:

[ml2_type_flat]

flat_networks=provider

在本[securitygroup]节中,使用ipset来提高安全组规则的效率:

[securitygroup]

enable_ipset=True

配置Linux网桥代理

Linux网桥代理为实例构建二层(桥接和交换)虚拟网络基础架构并处理安全组。

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下操作:

在本[linux_bridge]节中,将提供者虚拟网络映射到提供者物理网络接口:

[linux_bridge]

physical_interface_mappings=privider:PROVIDER_INTERFACE_NAME

替换PROVIDER_INTERFACE_NAME为底层提供商物理网络接口的名称。

在本[vxlan]节中,禁用VXLAN覆盖网络:

[vxlan]

enable_vxlan=False

在本[securitygroup]节中,启用安全组并配置Linux网桥iptables防火墙驱动程序:

[securitygroup]

enable_security_group=True

firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置DHCP代理

DHCP代理为虚拟网络提供DHCP服务。

编辑/etc/neutron/dhcp_agent.ini文件并完成以下操作:

在本[DEFAULT]节中,配置Linux网桥接口驱动程序,Dnsmasq DHCP驱动程序,

并启用隔离的元数据,以便提供商网络上的实例可以通过网络访问元数据:

[DEFAULT]

interface_driver=neutron.agent.linux.interface.BridgeInterfaceDriver

dhcp_driver=neutron.agent.linux.dhcp.Dnsmasq

enable_isolated_metadata=True

配置元数据代理

编辑/etc/neutron/metadata_agent.ini文件并完成以下操作:

在该[DEFAULT]部分中,配置元数据主机和共享密钥:

[DEFAULT]

nova_metadata_ip=controller

metadata_proxy_shared_secret=root

root是元数据代理密码

配置计算服务以使用网络服务

编辑/etc/nova/nova.conf文件并执行以下操作:

在该[neutron]部分中,配置访问参数,启用元数据代理并配置密钥:

[neutron]

url=http:?/controller:9696

auth_url=http://controller:35357

auth_type=password

project_domain_name=Default

user_domain_name=Default

region_name=RegionOne

project_name=service

username=neutron

password=root

service_metadata_proxy=True

metadata_proxy_shared_secret=root

第一个root是neutron用户身份验证密码

第二个root是元数据身份代理密码

完成安装

网络服务初始化脚本需要一个/etc/neutron/plugin.ini指向ML2插件配置文件的符号链接

/etc/neutron/plugins/ml2/ml2_conf.ini如果此符号链接不存在,请使用以下命令创建它:

#ln -s /etc/neutron/plugins/ml2/ml2_conf.ini/etc/neutron/plugin.ini

填充数据库:

#su -s /bin/sh -c "neutron_db-manage --config-file /etc/neutron/neutron.conf \

--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

重新启动计算API服务:

systemctl restart openstack-nova-api.service

启动网络服务并将其配置为在系统引导时启动

#systemctl enable neutron-server.service \

neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

neutron-metadata-agent.service

#systemctl start neutron-server.service \

neutron-linuxbridge-agent.service neutron-dhcp-agent.service \

neutron-metadata-agent.service

安装和配置计算节点

安装组件

#yum install openstack-neutron-linuxbridge ebtables ipset

配置通用组件

编辑/etc/neutron/neutron.conf文件并完成以下操作:

在本[database]节中,注释掉任何connection选项,因为计算节点不直接访问数据库

在该[DEFAULT]部分中,配置RabbitMQ 消息队列访问:

[DEFAULT]

transport_url=rabbit://openstack:root@controller

root为RabbitMQ密码

[DEFAULT][keystone_authtoken]部分中,配置身份服务访问:

[DEFAULT]

auth_strategy=keystone

[keystone_authtoken]

auth_uri=http://controller:5000

auth_url=:http://controller:35357

memcached_servers=controller:11211

auth_type=password

project_domain_name=Default

user_domain_name=Default

project_name=service

username=neutron

password=root

root为身份验证服务中neutron的密码

注:注释掉火删除该[keystone_authtoekn]部分中的其他选项

在该[oslo_concurrency]部分中,配置锁定路径:

[osle_concurrency]

lock_path=/var/lib/neutron/tmp

配置网络选项

这里选择提供商网络

配置Linux网桥代理

编辑 /etc/neutron/plugins/ml2/linuxbridge_agent.ini 文件并完成以下操作:

在本[linux_bridge]节中,将提供者虚拟网络映射到提供者物理网络接口:

[linux_bridge]

physical_interface_mappings=provider:PROVIDER_INTERFACE_NAME

替换PROVIDER_INTERFACE_NAME为底层提供商物理网络接口的名称。

在本[vxlan]节中,禁用VXLAN覆盖网络:

[vxlan]

enable_vxlan=False

在本[securitygroup]节中,启用安全组并配置Linux网桥iptables防火墙驱动程序:

[securitygroup]

enable_security_group=True

firewall_driver=neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

配置计算服务以使用网络服务

编辑 /etc/nova/nova.conf 文件并完成以下操作:

在该[neutron]部分中,配置访问参数:

[neutron]

url=http://controller:9696

auth_url=http://controller:35357

auth_type=password

project_domain_name=Default

user_domain_name=Default

region_name=RegionOne

project_name=service

usernamee=neutron

password=root

root为身份服务中卫neutron选择的密码

完成安装

重新启动计算服务:
#systemctl restart openstack-nova-compute.service
启动Linux桥代理并将其配置为在系统引导时启动:
#systemctl enable neutron-linuxbridge-agent.service
#systemctl start neutron-linuxbridge-agent.service

验证操作

注:在控制节点上执行这些命令
$.admin-openrc
$ neutron ext-list
注:实际输出略有不同
$openstack network agent list

七、仪表盘

在控制器节点上安装配置仪表盘
安装软件包:
#yum install openstack-dashboard

编辑 /etc/openstack-dashboard/local_settings 文件并完成以下操作:
配置仪表板以在controller节点上使用OpenStack服务 
OPENSTACK_HOST="controller"
允许所有主机访问仪表板:
ALLOWED_HOSTS=['*',]

配置memcached会话存储服务:

SESSION_ENGINE='django.contrib.sessions.backends.cache'
CACHES={
 'default':{
 'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION':'controller:11211',
}
}
注:注释掉任何其他绘画存储配置

启用Identity API版本3:
OPENSTACK_KEYSTONE_URL="http://%s:5000/v3"%OPENSTACK_HOST
启用对域的支持:
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT=True
配置API版本:
OPENSTACK_API_VERSIONS={
 "identity":3,

"image":2,

"volume":2,

}

配置default为您通过仪表板创建的用户的默认域:
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN="default"
配置user为您通过仪表板创建的用户的默认角色:
OPENSTACK_KEYSTONE_DEFAULT_ROLE="user"

禁用对三层网络服务的支持:
OPENSTACK_NEUTRON_NETWORK={
 …

'enable_router’:False,

'enable_quotas':False,

'enable_distributed_router':False,

'enable_ha_router':False,

'enable_lb':False,

'enable_firewall':False,

'enable_vpn':False,

'enable_fip_topology_check':False,

}
(可选)配置时区:
TIME_ZONE:"TIME_ZONE"
替换TIME_ZONE为适当的时区标识符

完成安装

重新启动Web服务器和会话存储服务:
#systemctl restart httpd.service memcached.service
注:如果当前没有运行,该命令将启动每个服务

验证操作

使用Web浏览器访问仪表板 http://controller/dashboard
使用admindemo用户和default域凭据进行身份验证。

这次是小组一起搭建,凝结着几位小伙伴的心血,最后一起整理出来,也参考了很多资料。搭建过程中一些问题总结如下:

1、学会在官网找资料,看官网文档,这次后面的安装都是依照官网进行

2、从云计算的角度看,操作系统和计算机网络的知识很重要,熟悉Linux和其常用命令

3、在安装过程中,随时拍快照保存当时系统状态,安装出问题回退修改会比较方便

4、养成随时记录的习惯

5、学习OpenStack,实际操作一次会比只看概念更有收获

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装OpenStack(Newton版本,两个结点) 的相关文章

  • OpenStack中制作和上传Docker镜像

    一 在docker节点新建dockerfile文件 vim dockerfie 二 文件里面填 无需任何修改 FROM ubuntu 14 04 MAINTAINER ZhangKe lt 294667739 qq com gt RUN a
  • Openstack常用命令

    目录 一 创建用户 二 创建删除模板和模板其他操作 三 创建更新删除镜像 四 创建网络 五 VPN的使用 六 创建容器swift模块 前言 在linux中使用openstakc命令前 需要source etc keystone admin
  • openstack装配置 Neutron( 控制节点

    在控制节点 controller 安装 Neutron 服务 同时配置支持 vxlan 1 登录数据库创建 neutron 数据库 MariaDB none gt CREATE DATABASE neutron default charac
  • 6G推进组发布《6G总体愿景与潜在关键技术》白皮书!(附PPT及白皮书下载)

    就在昨日 6月6日 我国工信部IMT 2030 6G 推进组正式发布了 6G总体愿景与潜在关键技术 白皮书 白皮书梳理出6G的总体愿景和八大业务应用场景及相应的指标需求 提出了十大潜在关键技术 并阐述了对6G发展中面临的若干关键问题的观点
  • Devstack部署多节点Openstack(转)

    平台工具介绍 操作系统 Windows7 工具 VirtualBox 5 0 24 镜像 ubuntu 14 04 5 server amd64 iso 下载地址 ubuntu14 04 5 server版 DevStack版本 Mitak
  • OpenStack的部署(六)------Neutron项目

    目录 一 CT控制节点 1 创建数据库neutron 并进行授权 2 创建用户 服务并赋权 3 注册API 4 安装提供者网络 桥接 并修改相关配置文件 5 重启相关服务 二 C1 C2计算节点操作 1 部署neutron服务 2 配置Li
  • openstack排错

    创建云主机失败 neutron agent list 计算节点服务没起来 实际是起来的 观察时间有问题 同步时间 root compute ntpdate controller 再看控制节点 起来了 也能创建云主机了
  • OpenStack--部署认证服务keystone

    官方安装文档 https docs openstack org ocata zh CN install guide rdo index html 1 keystone数据库配置 1 创建数据库 root linux host4 mysql
  • OpenStack学习笔记(二)计算服务NOVA

    本篇记录OpenStack的计算服务NOVA一些内容 很多看不懂 汗 只捡一小部分记录 一 逻辑图 OpenStack 计算服务NOVA 是基础设施服务IAAS的主要部分 采用Python实现 1 因为认证 与OpenStack 身份认证k
  • 【OpenStack实战—实验环境准备02】

    目录 前言 准备虚拟机 1 VMware workstation配置 2 控制节点虚拟机配置 3 计算节点虚拟机配置 4 存储节点虚拟机配置 一 配置静态IP IP规划 命令解释 二 关闭防火墙和selinux 命令解释 三 同步时间 命令
  • OpenStack的搭建与使用

    初次接触open stack与Linux 如有错误与可改进的地方 恳请指出 一 搭建 一 配置推荐 系统 镜像 内存 储存 Linux centos7 6 16G 100G 二 前期准备 1 开启虚拟化 图2 1 开启虚拟化 2 关闭防火墙
  • Linux系统调优 之 《OpenStack平台调度策略优化》

    目录 1 规划节点 2 基础准备 案例实施 1 OpenStack平台报错分析 2 解决策略 1 规划节点 根据云平台分配的主机 节点规划见表1 表1 节点规划 IP 主机名 节点 192 168 200 11 controller 控制节
  • OpenStack常用命令搜集 —— 筑梦之路

    之前学习搭建过OpenStack 好久都没有使用了 这里主要搜集下OpenStack的常用命令 温故而知新 OpenStack 搭建记录 筑梦之路 筑梦之路的博客 CSDN博客 查看日志 日志位置 使用devstack方式部署 默认日志路径
  • OpenStack主要功能和作用

    OpenStack主要组件和作用 openstack是一个开源的云计算管理平台 由几个重要的组件结合起来完成工作 openstack支持所有类型的云环境 实施简单可以大规模扩展丰富标准统一的云计算管理平台 openstack通过各种互补的服
  • 用python画星空源代码

    from turtle import from random import random randint screen Screen width height 800 600 screen setup width height screen
  • openstack平台搭建笔记(容器云)

    openstack平台搭建笔记 容器云 一 根据要求准备好配置环境 节点IP 角色 备注 192 168 100 30 Master Kubernetes 集群 master 节点 Harbor 仓库节点 192 168 100 31 Wo
  • Openstack - 更改仪表板的管理员密码

    在哪里可以更改 Openstack 中仪表板的管理员密码 我使用 packstack 安装程序安装了 openstack keystonerc admin 文件中的密码也不起作用 我使用 CentOS 6 3 并且我可以访问配置文件 用户名
  • 如何从外网访问MicroStack VM实例

    我已经安装了 MicroStack 并启动了一个 Cirros 实例 如中所述MicroStack 文档 一切都按预期进行 Cirros 实例位于10 20 20 202 22可以从安装了 MicroStack 的主机上获取 主机IP LA
  • 如何设置docker容器的ip?

    有人可以告诉我如何将容器的 ip 设置为特定的 ip 吗 我不想将网桥设置为 IP 集 我在网络中得到的所有结果都是将 ips 范围设置为 docker 桥 您可以使用主机的现有 IP 如下所示 docker run p 127 0 0 1
  • 是否可以从 openstack 镜像创建 ami?

    我正在从 OpenStack 中正在运行的实例创建图像 nova image create

随机推荐