openstack的搭建

以下最小需求支持概念验证环境,使用核心服务和几个:term:`CirrOS`实例:

控制节点: 1 处理器, 4 GB 内存, 及5 GB 存储,两张网卡

计算节点: 1 处理器, 2 GB 内存, 及10 GB 存储,两张网卡

上面的是最小的硬件支持,不过你最好要超过这个硬件支持。

为了避免混乱和为OpenStack提供更多资源,我们推荐你最小化安装你的Linux发行版。同时,你必须在每个节点安装你的发行版的64位版本。

控制节点的管理IP是192.168.10.100(eth0)另外的IP是192.168.111.134(eth1)

控制节点的管理IP是192.168.10.200(eth0)另外的IP是192.168.111.135(eth1)

下面是各个服务的密码

一开始我们就要关闭防火墙

systemctl stop firewalld

setenforce 0

vim /etc/selinux/config

SELINUX=permissive

在/etc/hosts文件加入

192.168.10.100  controller

192.168.10.200  compute

如图:

让服务器把controller解析为192.168.10.100,把compute解析为192.168.10.200

配置yum文件

创建并写入/etc/yum.repos.d/yum.repo文件以下内容

[yum]

name=yum

baseurl=ftp://192.168.10.84/redhat

enabled=1

gpgcheck=0

[openstack]

name=openstack

baseurl=ftp://192.168.10.84/openstack-newton/

enabled=1

gpgcheck=0

如图:

配置时间同步

yum install chrony -y

上面的操作在两个节点上都要执行。

在控制节点上配置

编辑/etc/chrony.conf

加入上面两行

然后设置开机自启并启动服务。注意如果重启服务出现下面报错说明你可能打错了。

ln -s ‘/usr/lib/systemd/system/mariadb.service‘ ‘/etc/systemd/system/multi-user.target.wants/mariadb.service‘

systemctl enable chronyd.service(开机自启)

systemctl start chronyd.service(开启服务)

下面在计算节点上,让它去同步controller的时间

注释上面的服务器,加入controller服务器

设置开机自启并启动服务

systemctl enable chronyd.service

systemctl start chronyd.service

在控制节点和计算节点都要安装openstack的客户端的包和openstack服务的安全策略(可能会卡顿,不过是正常的)

yum install python-openstackclient -y

yum install openstack-selinux -y

下面的是在控制节点上安装的

首先我们要先安装数据库

yum install ftp://192.168.10.84/system-packages/systemd-libs-219-19.el7.x86_64.rpm --setopt=protected_multilib=false

yum install mariadb mariadb-server python2-PyMySQL -y

创建并编辑/etc/my.cnf.d/openstack.cnf文件,加入下面行

[mysqld]

bind-address = 192.168.10.100

default-storage-engine = innodb

innodb_file_per_table

max_connections = 4096

collation-server = utf8_general_ci

character-set-server = utf8

如图:

其中,192.168.10.100是控制节点的管理IP

设置开机自启并启动服务

systemctl enable mariadb.service

systemctl start mariadb.service

为了保证数据库服务的安全性,运行``mysql_secure_installation``脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。

mysql_secure_installation

Telemetry 服务使用 NoSQL 数据库来存储信息,典型地,这个数据库运行在控制节点上。向导中使用MongoDB。

下面也把这个数据库安装上去吧!

yum install mongodb-server mongodb -y

编辑/etc/mongod.conf这个文件

其中192.168.10.100是控制节点的管理IP

去掉smallfiles的注释

设置开机自启并启动服务

systemctl enable mongod.service

systemctl start mongod.service

下面安装消息队列,消息队列是keystone glance nova neutron都要用到的服务。它们用它来让计算节点和控制节点来通讯。同样的,这个也在控制节点上安装,一般没有写在哪里安装的都在控制节点上安装

yum install rabbitmq-server -y

设置开机自启并启动服务

systemctl enable rabbitmq-server.service

systemctl start rabbitmq-server.service

添加 openstack 用户:

rabbitmqctl add_user openstack 000000

给``openstack``用户配置写和读权限:

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

如图:

认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。

执行以下命令安装

yum install memcached python-memcached -y

启动Memcached服务,并且配置它随机启动。

systemctl enable memcached.service

systemctl start memcached.service

下面配置keystone服务

mysql -uroot -p

create database keystone;

grant all privileges on keystone.* to [email protected]‘localhost‘ identified by ‘0000

00‘;

grant all privileges on keystone.* to [email protected]‘%‘ identified by ‘000000‘;

上面000000是用户keystone的密码。

生成一个随机值在初始的配置中作为管理员的令牌

openssl rand -hex 10

记住上面的随机数

yum install ftp://192.168.10.84/system-packages/python-jinja2-2.7.2-2.el7.noarch.rpm ftp://192.168.10.84/system-packages/python-zope-interface-4.0.5-4.el7.x86_64.rpm -y

yum install openstack-keystone httpd mod_wsgi -y

编辑/etc/keystone/keystone.conf文件

把刚刚的随机数加在admin_token后面

其中000000是keystone的密码

在``[token]``部分,配置Fernet UUID令牌的提供者。

如图:

初始化身份认证服务的数据库:

su -s /bin/sh -c "keystone-manage db_sync" keystone

初始化Fernet keys:

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

编辑``/etc/httpd/conf/httpd.conf`` 文件,配置``ServerName`` 选项为控制节点

如图:

创建文件/etc/httpd/conf.d/wsgi-keystone.conf并加入以下内容

Listen 5000

Listen 35357

<VirtualHost *:5000>

WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}

WSGIProcessGroup keystone-public

WSGIScriptAlias / /usr/bin/keystone-wsgi-public

WSGIApplicationGroup %{GLOBAL}

WSGIPassAuthorization On

ErrorLogFormat "%{cu}t %M"

ErrorLog /var/log/httpd/keystone-error.log

CustomLog /var/log/httpd/keystone-access.log combined

<Directory /usr/bin>

Require all granted

</Directory>

</VirtualHost>

<VirtualHost *:35357>

WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}

WSGIProcessGroup keystone-admin

WSGIScriptAlias / /usr/bin/keystone-wsgi-admin

WSGIApplicationGroup %{GLOBAL}

WSGIPassAuthorization On

ErrorLogFormat "%{cu}t %M"

ErrorLog /var/log/httpd/keystone-error.log

CustomLog /var/log/httpd/keystone-access.log combined

<Directory /usr/bin>

Require all granted

</Directory>

</VirtualHost>

启动 Apache HTTP 服务并配置其随系统启动:

systemctl enable httpd.service

systemctl start httpd.service

配置认证令牌:

vim /etc/keystone/keystone.sh

export OS_TOKEN=6f7b8ee0788f18500b61

export OS_URL=http://controller:35357/v3

export OS_IDENTITY_API_VERSION=3

如图:

创建服务实体和身份认证服务:

openstack service create --name keystone --description "OpenStack Identity" identity

这时候会有一个报错信息是:Missing value auth-url required for auth plugin password

我们可以执行source /etc/keystone/keystone.sh

然后我们再去执行openstack service create --name keystone --description "OpenStack Identity" identity就不会报错了

创建认证服务的 API 端点:

openstack endpoint create --region RegionOne identity public http://controller:5000/v3

openstack endpoint create --region RegionOne identity internal http://controller:5000/v3

openstack endpoint create --region RegionOne identity admin http://controller:35357/v3

如图:

创建域default

openstack domain create --description "Default Domain" default

创建 admin 项目:

openstack project create --domain default --description "Admin Project" admin

创建 admin 用户:

openstack user create --domain default --password-prompt admin

创建 admin 角色:

openstack role create admin

添加``admin`` 角色到 admin 项目和用户上:

openstack role add --project admin --user admin admin

创建``service``项目:

openstack project create --domain default --description "Service Project" service

常规(非管理)任务应该使用无特权的项目和用户。作为例子,本指南创建 demo 项目和用户。

创建``demo`` 项目:

openstack project create --domain default --description "Demo Project" demo

创建``demo`` 用户:

openstack user create --domain default --password-prompt demo

创建 user 角色:

openstack role create user

添加 user``角色到 ``demo 项目和用户:

openstack role add --project demo --user demo user

如图:

下面验证一下我们上面有没有问题

编辑 /etc/keystone/keystone-paste.ini 文件,找到[pipeline:public_api]、[pipeline:admin_api]和[pipeline:api_v3] 把admin_token_auth字段删除。

执行下面命令,重置环境变量

unset OS_TOKEN OS_URL

如果你不执行重置环境变量的命令可能会出现下面报错:

Only an authorized user may issue a new token

下面执行命令验证

openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue

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

如图:

为了方便我们要创建两个脚本放在/etc/keystone目录下

创建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=000000

export OS_AUTH_URL=http://controller:35357/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

其中000000是认证服务中admin的密码。

如图:

创建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=000000

export OS_AUTH_URL=http://controller:5000/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

其中000000是demo的密码。

如图:

验证一下我们的脚本有没有写错

source /etc/keystone/admin-openrc

openstack token issue

下面安装glance服务

(如果执行过database.sh和password.sh脚本就不用执行下面的四条命令)

mysql -u root -p

create database glance;grant all privileges on glance.* to ‘glance‘@‘localhost‘identified by ‘000000‘;

grant all privileges on glance.* to ‘glance‘@‘%‘  identified by ‘000000‘;

exit

000000是glance用户的密码,可以更改的

source /etc/keystone/keystone.sh

创建 glance 用户:

openstack user create --domain default --password-prompt glance

添加 admin 角色到 glance 用户和 service 项目上。

openstack role add --project service --user glance admin

创建``glance``服务实体

openstack service create --name glance --description "OpenStack Image" image

创建镜像服务的 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

如图

安装glance软件包:

yum install openstack-glance -y

编辑文件 /etc/glance/glance-api.conf 并完成如下动作:

在 [database] 部分加入

connection = mysql+pymysql://glance:[email protected]/glance

其中000000是glance的密码

在 [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 = 000000

其中000000是glance的密码

在[paste_deploy]中加入

flavor = keystone

在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:

stores = file,http

default_store = file

filesystem_store_datadir = /var/lib/glance/images/

vim /etc/glance/glance-registry.conf

在 [database] 部分,加入

connection = mysql+pymysql://glance:[email protected]/glance

在 [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 = 000000

其中000000是glance用户的密码

在[paste_deploy]部分加入

flavor = keystone

写入镜像服务数据库:

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

如图

systemctl enable openstack-glance-api.service

systemctl enable openstack-glance-registry.service

systemctl start openstack-glance-api.service

systemctl start openstack-glance-registry.service

下面我们来上传一下镜像看看有没有问题:

source /etc/keystone/admin_openrc

把镜像cirros-0.3.3-x86_64-disk.img上传到服务器上。

执行下面命令看看能不能上传镜像

上传镜像的时候可能会出现505的报错,如果有这个报错,一般是你的数据库连不上,你要看看你的数据库有没有问题,然后看看你的配置文件有没有写错,如果写错了你修改好了还要去执行下面命令,写入镜像服务数据库(命令是:su -s /bin/sh -c "glance-manage db_sync" glance),重启一下服务就可以啦

下面是nova配置

mysql -uroot -p

create database nova;

create database nova_api;

grant all privileges on nova_api.* ‘nova‘@’localhost’ identified by ‘000000‘;

grant all privileges on nova_api.* to ‘nova‘@‘%‘ identified by ‘000000‘;

grant all privileges on nova.* to ‘nova‘@‘localhost‘ identified by ‘000000‘;

grant all privileges on nova.* to ‘nova‘@‘%‘ identified by ‘000000‘;

获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

source /etc/keystone/admin_openrc

创建 nova 用户:

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

给 nova 用户添加 admin 角色:

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

创建 nova 服务实体:

openstack service create --name nova --description "OpenStack Compute" compute

创建 Compute 服务 API 端点:

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 ftp://192.168.10.84/system-packages/python-cheetah-2.4.4-5.el7.centos.x86_64.rpm ftp://192.168.10.84/system-packages/python-markdown-2.4.1-1.el7.centos.noarch.rpm -y

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

openstack-nova-console openstack-nova-novncproxy \

openstack-nova-scheduler

编辑/etc/nova/nova.conf文件

在``[DEFAULT]``部分加入

只启用计算和元数据API

enabled_apis = osapi_compute,metadata

配置“RabbitMQ”消息队列访问

rpc_backend = rabbit

使用控制节点的管理接口的IP 地址

my_ip = 192.168.10.100

使能 Networking 服务

use_neutron = True

默认情况下,计算服务使用内置的防火墙服务。由于网络服务包含了防火墙服务,你必须使用``nova.virt.firewall.NoopFirewallDriver``防火墙服务来禁用掉计算服务内置的防火墙服务

firewall_driver = nova.virt.firewall.NoopFirewallDriver

auth_strategy=keystone

如图:

在[oslo_messaging_rabbit]中加入

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = 000000

上面是配置消息认证的其中000000是之前在做消息认证的时候创建的openstack用户的密码

在[api_database]中加入

connection = mysql+pymysql://nova:[email protected]/nova_api

其中000000是nova的密码

在[database]中加入

connection = mysql+pymysql://nova:[email protected]/nova

其中000000是nova的密码

在[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 = 000000

在[vnc]中加入

vncserver_listen = $my_ip

vncserver_proxyclient_address = $my_ip

在[glance]中加入

api_servers = http://controller:9292

在[oslo_concurrency]中加入

lock_path = /var/lib/nova/tmp

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

systemctl enable openstack-nova-consoleauth.service

systemctl enable openstack-nova-scheduler.service

systemctl enable openstack-nova-conductor.service

systemctl enable openstack-nova-novncproxy.service

systemctl start openstack-nova-api.service

systemctl start openstack-nova-consoleauth.service

systemctl start openstack-nova-scheduler.service

systemctl start openstack-nova-conductor.service

systemctl start openstack-nova-novncproxy.service

下面是在计算节点上执行的

yum install ftp://192.168.10.84/system-packages/python-jinja2-2.7.2-2.el7.noarch.rpm

yum install openstack-nova-compute -y

编辑/etc/nova/nova.conf

在[DEFAULT]中加入

rpc_backend = rabbit

auth_strategy = keystone

my_ip = 192.168.10.200

use_neutron = True

firewall_driver = nova.virt.firewall.NoopFirewallDriver

在[oslo_messaging_rabbit](一定要看清楚,后面是rabbit不是amqp)中加入

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = 000000

在[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 = 000000

在[vnc]中加入

enabled = True

vncserver_listen = 0.0.0.0

vncserver_proxyclient_address = $my_ip

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

在[glance]中加入

api_servers = http://controller:9292

在[oslo_concurrency]中加入

lock_path = /var/lib/nova/tmp

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

egrep -c ‘(vmx|svm)‘ /proc/cpuinfo

如果这个命令返回了 one or greater 的值,那么你的计算节点支持硬件加速且不需要额外的配置。

如果这个命令返回了 zero 值,那么你的计算节点不支持硬件加速。你必须配置 libvirt 来使用 QEMU 去代替 KVM

编辑/etc/nova/nova.conf

在[libvirt]中加入

virt_type = qemu

启动计算服务及其依赖,并将其配置为随系统自动启动

systemctl enable libvirtd.service

systemctl enable openstack-nova-compute.service

systemctl start libvirtd.service

systemctl start openstack-nova-compute.service

如果最后一个服务起不来,看看日志,有可能是消息认证出问题了,如果是消息认证出问题了,你就去看看/etc/nova/nova.conf文件中[oslo_messaging_rabbit]部分有没有错,如果错了你改好了之后最后一个服务还是起不来的话,你可以先用这个命令

systemctl stop openstack-nova-compute.service

systemctl start openstack-nova-compute.service

应该就可以啦。

下面我们来验证一下有没有问题

source /etc/keystone/admin_openrc

openstack compute service list

这样就可以啦。

下面是neutron服务

下面命令是在控制节点上执行的

mysql -uroot -p

create database neutron;

grant all privileges on neutron.* to ‘neutron‘@‘localhost‘ identified by ‘000000‘;

grant all privileges on neutron.* to ‘neutron‘@‘%‘ identified by ‘000000‘;

获得 admin 凭证来获取只有管理员能执行的命令的访问权限

source /etc/keystone/admin_openrc

创建``neutron``用户

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

添加``admin`` 角色到``neutron`` 用户:

openstack role add --project service --user neutron admin

创建``neutron``服务实体:

openstack service create --name neutron --description "OpenStack Networking" network

创建网络服务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

yum install ftp://192.168.10.1/system-packages/libxslt-python-1.1.28-5.el7.x86_64.rpm -y

yum install openstack-neutron openstack-neutron-ml2openstack-neutron-linuxbridge ebtables

您可以部署网络服务使用选项1和选项2两种架构中的一种来部署网络服务。

选项1采用尽可能简单的架构进行部署,只支持实例连接到公有网络(外部网络)。没有私有网络(个人网络),路由器以及浮动IP地址。只有``admin``或者其他特权用户才可以管理公有网络

选项2在选项1的基础上多了layer-3服务,支持实例连接到私有网络。``demo``或者其他没有特权的用户可以管理自己的私有网络,包含连接公网和私网的路由器。另外,浮动IP地址可以让实例使用私有网络连接到外部网络,例如互联网

典型的私有网络一般使用覆盖网络。覆盖网络,例如VXLAN包含了额外的数据头,这些数据头增加了开销,减少了有效内容和用户数据的可用空间。在不了解虚拟网络架构的情况下,实例尝试用以太网最大传输单元 (MTU) 1500字节发送数据包。网络服务会自动给实例提供正确的MTU的值通过DHCP的方式。但是,一些云镜像并没有使用DHCP或者忽视了DHCP MTU选项,要求使用元数据或者脚本来进行配置。

下面我们安装私有网络。

yum install ftp://192.168.10.1/system-packages/libxslt-python-1.1.28-5.el7.x86_64.rpm -y

yum install openstack-neutron openstack-neutron-ml2   openstack-neutron-linuxbridge ebtables

编辑``/etc/neutron/neutron.conf`` 文件并完成如下操作

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

connection = mysql+pymysql://neutron:[email protected]/neutron

000000是你的数据库的密码

在``[DEFAULT]``部分,启用Modular Layer 2 (ML2)插件,路由服务和重叠的IP地址:

core_plugin = ml2

service_plugins = router

allow_overlapping_ips = True

rpc_backend = rabbit

auth_strategy = keystone

notify_nova_on_port_status_changes = True

notify_nova_on_port_data_changes = True

[oslo_messaging_rabbit]”部分加入

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = 000000

在[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 = 000000

在[nova]加入

auth_url = http://controller:35357

auth_type = password

project_domain_name = default

user_domain_name = default

region_name = RegionOne

project_name = service

username = nova

password = 000000

在[oslo_concurrency]部分加入

lock_path = /var/lib/neutron/tmp

编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件

在[ml2]部分加入

type_drivers = flat,vlan,vxlan

tenant_network_types = vxlan

mechanism_drivers = linuxbridge,l2population

extension_drivers = port_security

在[ml2_type_flat]部分加入

flat_networks = provider

在[ml2_type_vxlan]部分加入

vni_ranges = 1:1000

在[securitygroup]部分加入

enable_ipset = True

编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini

在[linux_bridge]中加入

physical_interface_mappings = eth1(不是管理IP的那张网卡)

在[vxlan]部分加入

enable_vxlan = True

local_ip = IP(管理IP)

l2_population = True

在[securitygroup]部分加入

enable_security_group = True

firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

编辑/etc/neutron/l3_agent.ini

在[DEFAULT]中

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

external_network_bridge =

编辑``/etc/neutron/dhcp_agent.ini``文件

在[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]部分加入

nova_metadata_ip = controller

metadata_proxy_shared_secret = 000000

000000是元数据代理的密码

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

去计算节点执行

systemctl stop openstack-nova-compute.service

systemctl start openstack-nova-compute.service

systemctl enable neutron-linuxbridge-agent.service

systemctl start neutron-linuxbridge-agent.service

返回控制节点上

systemctl stop openstack-nova-api.service

systemctl start openstack-nova-api.service

systemctl enable neutron-server.service

systemctl enable neutron-linuxbridge-agent.service

systemctl enable neutron-dhcp-agent.service

systemctl enable neutron-metadata-agent.service

systemctl start neutron-server.service

systemctl start neutron-linuxbridge-agent.service

systemctl start neutron-dhcp-agent.service

systemctl start neutron-metadata-agent.service

systemctl enable neutron-l3-agent.service

systemctl start neutron-l3-agent.service

在控制节点上source /etc/keystone/admin-openrc

执行neutron ext-list

[[email protected] neutron]# neutron ext-list

+---------------------------+---------------------------+

| alias                     | name                      |

+---------------------------+---------------------------+

| default-subnetpools       | Default Subnetpools       |

| availability_zone         | Availability Zone         |

| network_availability_zone | Network Availability Zone |

| binding                   | Port Binding              |

| agent                     | agent                     |

| subnet_allocation         | Subnet Allocation         |

| dhcp_agent_scheduler      | DHCP Agent Scheduler      |

| tag                       | Tag support               |

| external-net              | Neutron external network  |

| flavors                   | Neutron Service Flavors   |

| net-mtu                   | Network MTU               |

| network-ip-availability   | Network IP Availability   |

| quotas                    | Quota management support  |

| provider                  | Provider Network          |

| multi-provider            | Multi Provider Network    |

| address-scope             | Address scope             |

| subnet-service-types      | Subnet service types      |

| standard-attr-timestamp   | Resource timestamps       |

| service-type              | Neutron 服务类型管理      |

| extra_dhcp_opt            | Neutron Extra DHCP opts   |

| standard-attr-revisions   | Resource revision numbers |

| pagination                | Pagination support        |

| sorting                   | Sorting support           |

| security-group            | security-group            |

| rbac-policies             | RBAC Policies             |

| standard-attr-description | standard-attr-description |

| port-security             | Port Security             |

| allowed-address-pairs     | Allowed Address Pairs     |

| project-id                | project_id field enabled  |

+---------------------------+---------------------------+

时间: 2024-10-11 06:12:10

openstack的搭建的相关文章

Openstack平台搭建之第三天

Openstack平台搭建之第三天 Author :xxbAndy If you have any question ,please contact me by [email protected] or 371990778(qq) 注意:主控节点为server10.example.com: 新增nova节点为desktop10.example.com 在实验环境中已经对各个主机做了DNS解析 1.管理neutron节点服务,为nova-compute节点进行配置网络服务 [[email prot

Openstack平台搭建之第二天

Openstack平台搭建之第二天 环境准备:RHEL6.5 内存4G 硬盘70Gyum源的制定(分别制定三个yum源,其中前面三个是自己本地定制的yum源)baseurl=ftp://instructor.example.com/pub/rhel6.5/Serverbaseurl=ftp://instructor.example.com/pub/erratabaseurl=http://instructor.example.com/pub/OpenStack/baseurl=ftp://ftp

《Openstack的搭建》RHEL6.5

Openstack就是搭建一个较为完整的虚拟化平台,把一个完整的物理机划分成若干个虚拟机来跑,从而实现资源的充分利用. Openstack对硬件的要求很高,要是你的物理机内存是4G的话,虚拟机的内存给3G,一个Openstack搭建起来,你会发现你的内存几乎没有,或是被它给吃个精光,然后玩起来也不是很顺畅. Openstack对rdhat 企业版6.5一下的版本支持的不是很好.redhat6.4我试着搭建了2天,手都敲困了,不是这有错就是那有错,反正事错误不断...让人很烦.两天了一次也没成功,

openstack的四大服务组件及openstack环境搭建

opensatck的虚拟机创建流程图 一.openstack的四大服务及组件功能 1.keystone认证服务的一些概念 1)User: 使用openstack的用户 2)Role: 给用户添加到一个角色中,给予此用户操作权限 3)Tenant: 人.项目或组织拥有的资源合集,一个租户下有多个用户,可以给用户权限划分来使用租户中的资源 4)TOken: 密令,口令,keystone认证将token口令返回到浏览器,即在一段时间免秘钥登录,功能类似与cookie 会话保持,但又不同于cookie,

openstack 平台搭建

环境: Controller  42.62.55.71 Compute   42.62.114.207 Controller+ Compute #yum install -y yum-plugin-priorities 配置 yum 源 Controller     compute vim/etc/yum.repos.d/openstack.repo [openstack] name=openstack baseurl=http://mirrors.ustc.edu.cn/centos/7/cl

云计算之openstack基础服务之一keystone服务最佳实践

1.openstack简介 Openstack是一个项目,该项目支持所有类型的云环境的一个开源云计算平台,该项目的目的是为了实现简单,大规模可扩展性,以及丰富功能集,来自世界各地的云计算专家项目作出贡献.Openstack提供了一个基础架构即服务(Iaas)并通过各种配套服务的解决方案,每个服务提供一个应用编程接口来完成整个openstack的结合. 架构图如下: 相关服务介绍: 服务名称 项目名称 描述 Dashboard Horizon 基于openstackAPI接口使用Django开发的

OpenStack?HTTP协议

前言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准 HTTP是一个基于TCP/IP通信协议来传输数据(HTML文件.图片文件.查询结果) HTTP协议工作于客户端-服务端架构为上.浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求.Web服务器根据接收到的请求后,向客户端发送响应信息.(请求的数据往往比较小,而返回的数据往往比较大.因为返回的数据中包含了Body

openstack发展历程及其架构简介

1.0 Openstack介绍 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云.小云提供可扩展的.灵活的云计算. 2.0 Openstack版本历程 2.1 2010.10 Austin 作为OpenStack第一个正式版本,Austin主要包含两子项目,Swift是对象存储模块,Nova是计算模块;带有一个简单的控制台,允许用户通过web管理计算和存储;带有一个部分实

OpenStack安装随笔

学习了几天的OpenStack的知识,现在将这几天所学的知识整理一下,有整理错误的地方,希望大家能指出来,共同进步. OpenStack是一个开源的云平台,它的实现是通过几个不同的组件来共同完成的,这里简单列出每个组件相应的作用. rabbitmq: openstack的消息队列 keystone: openstack的认证服务,所有的组件都要通过kesytone的认证 glance: openstack的镜像管理 nova: 创建管理云主机的组件 neutron:openstack的网络部分由