• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

openstack-stein.noarchS版环境搭建

武飞扬头像
一fan风顺
帮助1

目录

一、openstack准备环境

二、基础环境配置

controller节点和compute节点配置

controller节点配置

compute节点配置

controller节点配置

安装keystone服务

安装Glance镜像服务

 安装nova计算服务

compute节点配置

一、openstack准备环境

学新通
二、基础环境配置使用的是Secure CRT软件连接虚拟机,以下操作步骤皆在Secure CRT操作

controller节点和compute节点配置

关闭防火墙并设置开机不启动

[root@controller ~]# systemctl stop firewalld && systemctl disable firewalld

关闭selinux

  1.  
    [root@controller ~]# vi /etc/selinux/config
  2.  
    SELINUX=disabled

修改hosts

  1.  
    [root@controller ~]# vi /etc/hosts
  2.  
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  3.  
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4.  
    192.168.1.100 controller
  5.  
    192.168.1.200 compute

关闭NetworkManager

[root@controller ~]# systemctl stop NetworkManager && systemctl disable NetworkManager

controller节点配置

查找openstack版本

  1.  
    [root@controller ~]# yum search openstack
  2.  
    已加载插件:fastestmirror
  3.  
    Loading mirror speeds from cached hostfile
  4.  
    * base: mirror.lzu.edu.cn
  5.  
    * extras: mirror.lzu.edu.cn
  6.  
    * updates: mirror.lzu.edu.cn
  7.  
    ============================ N/S matched: openstack ============================
  8.  
    centos-release-openstack-queens.noarch : OpenStack from the CentOS Cloud SIG
  9.  
    : repo configs
  10.  
    centos-release-openstack-rocky.noarch : OpenStack from the CentOS Cloud SIG repo
  11.  
    : configs
  12.  
    centos-release-openstack-stein.noarch : OpenStack from the CentOS Cloud SIG repo
  13.  
    : configs
  14.  
    centos-release-openstack-train.noarch : OpenStack from the CentOS Cloud SIG repo
  15.  
    : configs
学新通

找到stein版并安装

[root@controller ~]# yum -y install centos-release-openstack-stein.noarch

安装数据库mariadb

[root@controller ~]# yum -y install mariadb mariadb-server

在my.cnf.d下创建一个openstack.cnf并添加如下代码

  1.  
    [root@controller ~]# vi /etc/my.cnf.d/openstack.cnf
  2.  
    [mysqld]
  3.  
    bind-address = 192.168.1.100 //controller节点的IP地址
  4.  
    default-storage-engine = innodb
  5.  
    innodb_file_per_table
  6.  
    max_connections = 4096
  7.  
    collation-server = utf8_general_ci
  8.  
    character-set-server = utf8

启动数据库

[root@controller ~]# systemctl start mariadb.service &&  systemctl enable mariadb.service

初始化数据库

  1.  
    [root@controller ~]# mysql_secure_installation
  2.  
    Enter current password for root (enter for none): 按enter键
  3.  
    Set root password? [Y/n] y //设置数据库密码
  4.  
    New password:
  5.  
    Re-enter new password:
  6.  
    Remove anonymous users? [Y/n] n //是否设置匿名用户,按n
  7.  
    Disallow root login remotely? [Y/n] n
  8.  
    Remove test database and access to it? [Y/n] n
  9.  
    Reload privilege tables now? [Y/n] n

安装消息队列并启动

  1.  
    [root@controller ~]# yum -y install rabbitmq-server
  2.  
    [root@controller ~]# systemctl start rabbitmq-server.service && systemctl enable rabbitmq-server.service

添加openstack用户

  1.  
    [root@controller ~]# rabbitmqctl add_user openstack 123456 //添加用户和密码
  2.  
    [root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" //给openstack用户配置读写权限

安装Memcached

  1.  
    [root@controller ~]# yum -y install memcached python-memcached //安装memcached
  2.  
    [root@controller ~]# vi /etc/sysconfig/memcached //修改配置文件
  3.  
    OPTIONS="-l 192.168.1.100,::1" //controller节点的ip地址
  4.  
    [root@controller ~]# systemctl start memcached.service && systemctl enable memcached.service //启动

安装时间同步ntp  ntpdate

  1.  
    [root@controller ~]# yum -y install ntpdate ntp
  2.  
    [root@controller ~]# ntpdate ntp1.aliyun.com //同步aliyun时间
  3.  
    [root@controller ~]# vi /etc/ntp.conf
  4.  
    server 192.168.1.100 iburst //任意一行添加
  5.  
    [root@controller ~]# systemctl start ntpd && systemctl enable ntpd
  6.  
    [root@controller ~]# crontab -e
  7.  
    */2 * * * * /usr/sbin/ntpdate compute << /var/log/ntpdate.log //五个*表示分时号月几
  8.  
    [root@controller ~]# systemctl start crond && systemctl enable crond

compute节点配置

安装ntpdate,时间同步到controller节点

  1.  
    [root@compute ~]# yum -y install ntpdate
  2.  
    [root@compute ~]# ntpdate controller
  3.  
    24 May 09:34:36 ntpdate[2180]: adjust time server 192.168.1.100 offset -0.019328 sec

安装keystone服务

controller节点配置

vi编辑器扩展:

进入vi编辑器后,按shift ;键输入“set nu”出现行号。输入“ :xx,可以定位到该行”(例:  :14,则定位到14行)。下列代码中英文字母之前的数字代表的是行号。

注意:修改内容时,要把英文字母前的 "#"号去掉,这样代码才能生效,修改内容较多,一定要仔细修改,不要有多余的空行,不然执行下一个代码时会报错代码中有几个地方需要自己添加,请注意查看。输入的英文字母和符号皆为英文状态下输入。

  1.  
    [root@controller ~]# yum install openstack-keystone httpd mod_wsgi python-openstackclient openstack-utils python-keystoneclient mod_ssl
  2.  
    [root@controller ~]# openssl rand -hex 10 //生成一个随机值在初始的配置中作为管理员的令牌
  3.  
    b87a783e404e93b7b7ce //复制出来
  4.  
    [root@controller ~]# vi /etc/keystone/keystone.conf //修改keystone的配置文件
  5.  
    14 admin_token = b87a783e404e93b7b7ce
  6.  
    452 backend = oslo_cache.memcache_pool
  7.  
    465 enabled = true
  8.  
    475 memcache_servers = controller:11211
  9.  
    480 memcache_dead_retry = 60
  10.  
    484 memcache_socket_timeout = 1
  11.  
    488 memcache_pool_maxsize = 1000
  12.  
    492 memcache_pool_unused_timeout = 60
  13.  
    507 template_file = /etc/keystone/default_catalog.templates
  14.  
    514 driver = sql
  15.  
    611 connection = mysql pymysql://keystone:123456@controller/keystone
  16.  
    651 max_pool_size = 30
  17.  
    657 max_retries = -1
  18.  
    662 retry_interval = 2
  19.  
    667 max_overflow = 60
  20.  
    887 key_repository = /etc/keystone/fernet-keys/
  21.  
    896 max_active_keys = 3
  22.  
    1015 driver = sql
  23.  
    1019 caching = false
  24.  
    ---------------------------------------------------------
  25.  
    1435 servers = controller:11211 //自己添加
  26.  
    ---------------------------------------------------------
  27.  
    1438 dead_retry = 60
  28.  
    1494 idle_timeout = 3600
  29.  
    1442 socket_timeout = 1
  30.  
    1446 pool_maxsize = 1000
  31.  
    1450 pool_unused_timeout = 60
  32.  
    ---------------------------------------------------------
  33.  
    1761 rabbit_hosts = controller:5672 //自己添加
  34.  
    1762 rabbit_userid = openstack //自己添加
  35.  
    1763 rabbit_password = 123456 //自己添加
  36.  
    1764 rabbit_use_ssl = false //自己添加
  37.  
    1765 rabbit_ha_queues = True //自己添加
  38.  
    1766 rabbit_retry_interval = 1 //自己添加
  39.  
    1767 rabbit_retry_backoff = 2 //自己添加
  40.  
    1768 rabbit_max_retries = 0 //自己添加
  41.  
    -----------------------------------------------------------
  42.  
    2082 expiration = 3600
  43.  
    2095 caching = False
  44.  
    2542 provider = fernet
学新通

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

[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone

初始化Fernet keys

  1.  
    [root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
  2.  
    [root@controller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

登录数据库

  1.  
    [root@controller ~]# mysql -uroot -p123456
  2.  
    MariaDB [(none)]> CREATE DATABASE keystone; //创建 keystone 数据库
  3.  
    对“keystone”数据库授予权限
  4.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
  5.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';

修改http的配置文件

  1.  
    [root@controller ~]# vi /etc/httpd/conf/httpd.conf
  2.  
    95 ServerName controller
  3.  
    42 Listen 80 //配置文件里已经有了一个Listen 80,如果没有,就自己添加
  4.  
     
  5.  
    复制一份配置文件:
  6.  
    [root@controller ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

复制keystone/wsgi-keystone.conf配置文件到/etc/httpd/conf.d/中并编辑

  1.  
    [root@controller keystone]# cp /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
  2.  
    [root@controller ~]# vi /etc/httpd/conf.d/wsgi-keystone.conf
  3.  
    Listen 192.168.1.100:5000
  4.  
    Listen 192.168.1.100:35357
  5.  
     
  6.  
    <VirtualHost 192.168.1.100:5000>
  7.  
    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  8.  
    WSGIProcessGroup keystone-public
  9.  
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
  10.  
    WSGIApplicationGroup %{GLOBAL}
  11.  
    WSGIPassAuthorization On
  12.  
    ErrorLogFormat "%{cu}t %M"
  13.  
    ErrorLog /var/log/httpd/keystone-error.log
  14.  
    CustomLog /var/log/httpd/keystone-access.log combined
  15.  
     
  16.  
    <Directory /usr/bin>
  17.  
    Require all granted
  18.  
    </Directory>
  19.  
    </VirtualHost>
  20.  
     
  21.  
    <VirtualHost 192.168.1.100:35357>
  22.  
    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
  23.  
    WSGIProcessGroup keystone-admin
  24.  
    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
  25.  
    WSGIApplicationGroup %{GLOBAL}
  26.  
    WSGIPassAuthorization On
  27.  
    ErrorLogFormat "%{cu}t %M"
  28.  
    ErrorLog /var/log/httpd/keystone-error.log
  29.  
    CustomLog /var/log/httpd/keystone-access.log combined
  30.  
     
  31.  
    <Directory /usr/bin>
  32.  
    Require all granted
  33.  
    </Directory>
  34.  
    </VirtualHost>
学新通

启动http服务

  1.  
    [root@controller]# systemctl start httpd && systemctl enable httpd
  2.  
    [root@controller]# systemctl status httpd //查看httpd端口是否开启
  3.  
    Active: active (running) //表示开启状态

创建keystone端点认证

  1.  
    [root@controller]# keystone-manage bootstrap --bootstrap-password 123456 \
  2.  
    --bootstrap-admin-url http://controller:35357/v3/ \
  3.  
    --bootstrap-internal-url http://controller:5000/v3/ \
  4.  
    --bootstrap-public-url http://controller:5000/v3/ \
  5.  
    --bootstrap-region-id RegionOne

编辑启动文件

  1.  
    [root@controller ~]#vi admin.sh
  2.  
    export OS_PROJECT_DOMAIN_NAME=Default
  3.  
    export OS_USER_DOMAIN_NAME=Default
  4.  
    export OS_PROJECT_NAME=admin
  5.  
    export OS_USERNAME=admin
  6.  
    export OS_PASSWORD=123456
  7.  
    export OS_AUTH_URL=http://192.168.1.100:5000/v3
  8.  
    export OS_IDENTITY_API_VERSION=3
  9.  
    export PS1='[\u@\h\W(keystone_admin)]\$'
  10.  
     
  11.  
    [root@controller ~]# source admin.sh
  12.  
    [root@controller~(keystone_admin)]#openstack endpoint list //出现一下内容表示成功
  13.  
    ---------------------------------- ----------- -------------- -------------- --------- ----------- -----------------------------
  14.  
    | ID | Region | Service Name | Service Type | Enabled | Interface | URL |
  15.  
    ---------------------------------- ----------- -------------- -------------- --------- ----------- -----------------------------
  16.  
    | 02161cbb0064428186a937063d2197ea | RegionOne | keystone | identity | True | public | http://controller:5000/v3/ |
  17.  
    | 0faa65db9fad437a805f30a4be611f18 | RegionOne | keystone | identity | True | admin | http://controller:35357/v3/ |
  18.  
    | b631c969eaab4cf2914d1c09322f8466 | RegionOne | keystone | identity | True | internal | http://controller:5000/v3/ |
  19.  
    ---------------------------------- ----------- -------------- -------------- --------- ----------- -----------------------------
学新通

创建services项目

  1.  
    [root@controller~(keystone_admin)]#openstack project create --domain default --description "Service Project" service
  2.  
    [root@controller~(keystone_admin)]#openstack project create --domain default --description "Demo Project" demo

创建demo用户

  1.  
    [root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt demo
  2.  
    User Password:123456
  3.  
    Repeat User Password:123456

创建角色user

  1.  
    [root@controller~(keystone_admin)]#openstack role create user
  2.  
    [root@controller~(keystone_admin)]#openstack role add --project demo --user demo user
  3.  
     
  4.  
    如果想要退出keystone_admin,输入exit

安装Glance镜像服务

[root@controller ~]# yum install -y openstack-glance

创建glance数据库

  1.  
    [root@controller ~]# mysql -uroot -p123456
  2.  
    MariaDB [(none)]> create database glance;
  3.  
    MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'localhost' identified by '123456';
  4.  
    MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'%' identified by '123456';

编辑glance配置文件

  1.  
    [root@controller ~]# grep -Ev '^#|^$' /etc/glance/glance-api.conf //过滤#号对应的代码
  2.  
    [root@controller ~]# vi /etc/glance/glance-api.conf //找到对应文件修改代码,也可以在对应的文件下添加,为了以防出现问题,最好复制添加。
  3.  
    [DEFAULT]
  4.  
    [cinder]
  5.  
    [cors]
  6.  
    [database]
  7.  
    connection = mysql pymysql://glance:123456@controller/glance -----添加
  8.  
    [file]
  9.  
    [glance.store.http.store]
  10.  
    [glance.store.rbd.store]
  11.  
    [glance.store.sheepdog.store]
  12.  
    [glance.store.swift.store]
  13.  
    [glance.store.vmware_datastore.store]
  14.  
    [glance_store]
  15.  
    stores = file,http ----添加
  16.  
    default_store = file ----添加
  17.  
    filesystem_store_datadir = /var/lib/glance/images ---添加
  18.  
    [image_format]
  19.  
    [keystone_authtoken]
  20.  
    auth_uri = http://controller:5000 ---添加
  21.  
    auth_url = http://controller:35357 ---添加
  22.  
    memcached_servers = controller:11211 ---添加
  23.  
    auth_type = password ---添加
  24.  
    project_domain_name = default ---添加
  25.  
    user_domain_name = default ---添加
  26.  
    project_name = service ---添加
  27.  
    username = glance ---添加
  28.  
    password = 123456 ---添加
  29.  
    [oslo_concurrency]
  30.  
    [oslo_messaging_amqp]
  31.  
    [oslo_messaging_kafka]
  32.  
    [oslo_messaging_notifications]
  33.  
    [oslo_messaging_rabbit]
  34.  
    [oslo_middleware]
  35.  
    [oslo_policy]
  36.  
    [paste_deploy]
  37.  
    flavor = keystone ---添加
  38.  
    [profiler]
  39.  
    [store_type_location_strategy]
  40.  
    [task]
  41.  
    [taskflow_executor]
学新通

写入镜像服务数据库

  1.  
    [root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
  2.  
    Database is synced successfully. //表示成功
  3.  
     
  4.  
    如果出现以下错误:
  5.  
    /usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1371: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade expire_on_commit=expire_on_commit, _conf=conf) Database is up to date. No migrations needed.
  6.  
     
  7.  
    删除数据库,重新创建
  8.  
    MariaDB [(none)]> drop database glance;
  9.  
    MariaDB [(none)]> CREATE DATABASE glance;
  10.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456';
  11.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';
  12.  
    然后再次执行
  13.  
    [root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
  14.  
    就成功了

启动镜像服务、配置他们随机启动

  1.  
    [root@controller ~]# systemctl start openstack-glance-api.service
  2.  
    [root@controller ~]# systemctl enable openstack-glance-api.service //出现下面代码代表启动成功,可查看端口是否开启。
  3.  
    Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
  4.  
    [root@controller ~]# systemctl start openstack-glance-registry.service
  5.  
    [root@controller ~]# systemctl enable openstack-glance-registry.service
  6.  
    [root@controller ~]# systemctl status openstack-glance-api.service
  7.  
    Active: active (running) //开启
  8.  
    [root@controller ~]# systemctl status openstack-glance-registry.service
  9.  
    Active: active (running) //开启

创建glance用户

  1.  
    [root@controller ~]# source admin.sh
  2.  
    [root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt glance
  3.  
    User Password:123456
  4.  
    Repeat User Password:123456

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

[root@controller~(keystone_admin)]#openstack role add --project service --user glance admin

创建glance服务实体

[root@controller ~(keystone_admin)]# openstack service create --name glance   --description "OpenStack Image" image

创建镜像服务的 API 端点

  1.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image public http://controller:9292
  2.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image internal http://controller:9292
  3.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image admin http://controller:9292

查看端口

  1.  
    Glance-api:9292(对外开放)
  2.  
    Glance-registry:9191内部端口(内部使用)
  3.  
    [root@controller ~]# netstat -antp | grep 9292
  4.  
    tcp 0 0 0.0.0.0:9292 0.0.0.0:* LISTEN 6675/python2
  5.  
    [root@controller ~]# netstat -antp | grep 9191
  6.  
    tcp 0 0 0.0.0.0:9191 0.0.0.0:* LISTEN 6676/python2

创建glance镜像

要将镜像cirros-0.3.4-x86_64-disk.img上传

学新通

image-create  镜像创建
--name cirros 镜像名称为cirros
--disk-format qcow2  磁盘格式为qcow2
--container-format bare   图片的容器格式,可以是ami,ari,aki,ovf,bare默认是bare
  1.  
    [root@controller ~(keystone_admin)]# glance image-create --name cirros --disk-format qcow2 --container-format bare < cirros-0.3.4-x86_64-disk.img
  2.  
    [root@controller~(keystone_admin)]#openstack image list //查看镜像
  3.  
    -------------------------------------- -------- --------
  4.  
    | ID | Name | Status |
  5.  
    -------------------------------------- -------- --------
  6.  
    | 8fdb9300-c51f-4eea-8c7f-113cbb6b49d7 | cirros | active |
  7.  
    -------------------------------------- -------- --------

 安装nova计算服务

安装软件包

[root@controller ~]# yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

创建 nova_api 和 nova 数据库

  1.  
    MariaDB [(none)]> create database nova_api;
  2.  
    MariaDB [(none)]> create database nova;
  3.  
    MariaDB [(none)]> create database nova_cell0;

授权

  1.  
    Nova-api:
  2.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
  3.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
  4.  
     
  5.  
    Nova:
  6.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
  7.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
  8.  
     
  9.  
    nova_cell0
  10.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
  11.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456';

修改nova配置文件

  1.  
    [root@controller ~]# grep -Ev '^#|^$' /etc/nova/nova.conf
  2.  
    [root@controller ~]# vi /etc/nova/nova.conf //找到对应文件,添加如下代码(可修改,可添加)
  3.  
    [DEFAULT]
  4.  
    rpc_backend = rabbit
  5.  
    my_ip=192.168.1.100
  6.  
    use_neutron=true
  7.  
    firewall_driver=nova.virt.firewall.NoopFirewallDriver
  8.  
    enabled_apis=osapi_compute,metadata
  9.  
    transport_url=rabbit://openstack:123456@controller
  10.  
    [api]
  11.  
    auth_strategy=keystone
  12.  
    [api_database]
  13.  
    connection=mysql pymysql://nova:123456@controller/nova_api
  14.  
    [barbican]
  15.  
    [cache]
  16.  
    [cells]
  17.  
    [cinder]
  18.  
    [compute]
  19.  
    [conductor]
  20.  
    [console]
  21.  
    [consoleauth]
  22.  
    [cors]
  23.  
    [database]
  24.  
    connection=mysql pymysql://nova:123456@controller/nova
  25.  
    [devices]
  26.  
    [ephemeral_storage_encryption]
  27.  
    [filter_scheduler]
  28.  
    [glance]
  29.  
    api_servers=http://controller:9292
  30.  
    [guestfs]
  31.  
    [healthcheck]
  32.  
    [hyperv]
  33.  
    [ironic]
  34.  
    [key_manager]
  35.  
    [keystone]
  36.  
    [keystone_authtoken]
  37.  
    auth_uri=http://controller:5000
  38.  
    auth_url = http://controller:35357
  39.  
    memcached_servers = controller:11211
  40.  
    auth_type = password
  41.  
    project_domain_name = default
  42.  
    user_domain_name = default
  43.  
    project_name = service
  44.  
    username = nova
  45.  
    password = 123456
  46.  
    [libvirt]
  47.  
    [metrics]
  48.  
    [mks]
  49.  
    [neutron]
  50.  
    [notifications]
  51.  
    [osapi_v21]
  52.  
    [oslo_concurrency]
  53.  
    [oslo_messaging_amqp]
  54.  
    [oslo_messaging_kafka]
  55.  
    [oslo_messaging_notifications]
  56.  
    [oslo_messaging_rabbit]
  57.  
    rabbit_host = controller
  58.  
    rabbit_userid = openstack
  59.  
    rabbit_password = 123456
  60.  
    [oslo_middleware]
  61.  
    [oslo_policy]
  62.  
    [pci]
  63.  
    [placement]
  64.  
    region_name = RegionOne
  65.  
    project_domain_name = Default
  66.  
    project_name = service
  67.  
    auth_type = password
  68.  
    user_domain_name = Default
  69.  
    auth_url = http://controller:5000/v3
  70.  
    username = placement
  71.  
    password = 123456
  72.  
    [placement_database]
  73.  
    [powervm]
  74.  
    [privsep]
  75.  
    [profiler]
  76.  
    [quota]
  77.  
    [rdp]
  78.  
    [remote_debug]
  79.  
    [scheduler]
  80.  
    [serial_console]
  81.  
    [service_user]
  82.  
    [spice]
  83.  
    [upgrade_levels]
  84.  
    [vault]
  85.  
    [vendordata_dynamic_auth]
  86.  
    [vmware]
  87.  
    [vnc]
  88.  
    vncserver_listen = 192.168.1.100
  89.  
    vncserver_proxyclient_address = 192.168.1.100
  90.  
    [workarounds]
  91.  
    [wsgi]
  92.  
    [xenserver]
  93.  
    [xvp]
  94.  
    [zvm]
学新通

初始化数据库

  1.  
    [root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
  2.  
    [root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
  3.  
    [root@controller ~(keystone_admin)]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
  4.  
    [root@controller ~(keystone_admin)]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
  5.  
    49192d92-08da-4dd2-b953-b4746477eb8c

创建nova用户

  1.  
    [root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt nova
  2.  
    User Password:123456
  3.  
    Repeat User Password:123456

给 nova 用户添加 admin 角色

[root@controller~(keystone_admin)]#openstack role add --project service --user nova admin

创建 nova 服务实体

[root@controller ~(keystone_admin)]# openstack service create --name nova --description "OpenStack Compute" compute

创建compute服务API端点

  1.  
    [root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
  2.  
    [root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
  3.  
    [root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s

创建一个placement服务用户

  1.  
    [root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt placement
  2.  
    User Password:123456
  3.  
    Repeat User Password:123456
  4.  
    [root@controller ~(keystone_admin)]# openstack role add --project service --user placement admin
  5.  
    [root@controller ~(keystone_admin)]# openstack service create --name placement --description "Placement API" placement

创建端点信息

  1.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement public http://controller:8778
  2.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement internal http://controller:8778
  3.  
    [root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement admin http://controller:8778

启动服务

  1.  
    [root@controller ~]# systemctl start openstack-nova-api.service
  2.  
    [root@controller ~]# systemctl start openstack-nova-consoleauth.service
  3.  
    [root@controller ~]# systemctl start openstack-nova-scheduler.service
  4.  
    [root@controller ~]# systemctl start openstack-nova-conductor.service
  5.  
    [root@controller ~]# systemctl start openstack-nova-novncproxy.service
  6.  
     
  7.  
    [root@controller ~]# systemctl enable openstack-nova-api.service
  8.  
    [root@controller ~]# systemctl enable openstack-nova-consoleauth.service
  9.  
    [root@controller ~]# systemctl enable openstack-nova-scheduler.service
  10.  
    [root@controller ~]# systemctl enable openstack-nova-conductor.service
  11.  
    [root@controller ~]# systemctl enable openstack-nova-novncproxy.service

compute节点配置

安装centos-release-openstack-stein.noarch

[root@compute ]#  yum -y install centos-release-openstack-stein.noarch

安装openstack-nova-compute

[root@compute ]#  yum -y install openstack-nova-compute

修改nova配置文件

  1.  
    [root@compute ~]# grep -Ev '^#|^$' /etc/nova/nova.conf
  2.  
    [root@compute ~]# vi /etc/nova/nova.conf
  3.  
    [DEFAULT]
  4.  
    rpc_backend = rabbit
  5.  
    my_ip=192.168.1.100
  6.  
    use_neutron=true
  7.  
    firewall_driver=nova.virt.firewall.NoopFirewallDriver
  8.  
    enabled_apis=osapi_compute,metadata
  9.  
    transport_url=rabbit://openstack:123456@controller
  10.  
    [api]
  11.  
    auth_strategy=keystone
  12.  
    [api_database]
  13.  
    [barbican]
  14.  
    [cache]
  15.  
    [cells]
  16.  
    [cinder]
  17.  
    [compute]
  18.  
    [conductor]
  19.  
    [console]
  20.  
    [consoleauth]
  21.  
    [cors]
  22.  
    [database]
  23.  
    [devices]
  24.  
    [ephemeral_storage_encryption]
  25.  
    [filter_scheduler]
  26.  
    [glance]
  27.  
    api_servers=http://controller:9292
  28.  
    [guestfs]
  29.  
    [healthcheck]
  30.  
    [hyperv]
  31.  
    [ironic]
  32.  
    [key_manager]
  33.  
    [keystone]
  34.  
    [keystone_authtoken]
  35.  
    auth_uri=http://controller:5000
  36.  
    auth_url = http://controller:35357
  37.  
    memcached_servers = controller:11211
  38.  
    auth_type = password 6300
  39.  
    project_domain_name = default
  40.  
    user_domain_name = default
  41.  
    project_name = service
  42.  
    username = nova
  43.  
    password = 123456
  44.  
    [libvirt]
  45.  
    virt_type=qemu
  46.  
    [metrics]
  47.  
    [mks]
  48.  
    [neutron]
  49.  
    [notifications]
  50.  
    [osapi_v21]
  51.  
    [oslo_concurrency]
  52.  
    lock_path=/var/lib/nova/tmp
  53.  
    [oslo_messaging_amqp]
  54.  
    [oslo_messaging_kafka]
  55.  
    [oslo_messaging_notifications]
  56.  
    [oslo_messaging_rabbit]
  57.  
    rabbit_host = controller
  58.  
    rabbit_userid = openstack
  59.  
    rabbit_password = 123456
  60.  
    [oslo_middleware]
  61.  
    [oslo_policy]
  62.  
    [pci]
  63.  
    [placement]
  64.  
    os_region_name = RegionOne
  65.  
    project_domain_name = Default
  66.  
    project_name = service
  67.  
    auth_type = password
  68.  
    user_domain_name = Default 8652
  69.  
    auth_url = http://controller:5000/v3
  70.  
    username = placement
  71.  
    password = 123456
  72.  
    [placement_database]
  73.  
    [powervm]
  74.  
    [privsep]
  75.  
    [profiler]
  76.  
    [quota]
  77.  
    [rdp]
  78.  
    [remote_debug]
  79.  
    [scheduler]
  80.  
    [serial_console]
  81.  
    [service_user]
  82.  
    [spice]
  83.  
    [upgrade_levels]
  84.  
    [vault]
  85.  
    [vendordata_dynamic_auth]
  86.  
    [vmware]
  87.  
    [vnc]
  88.  
    enabled = True
  89.  
    vncserver_listen = 0.0.0.0
  90.  
    vncserver_proxyclient_address = 192.168.1.100
  91.  
    novncproxy_base_url = http://controller:6080/vnc_auto.html
  92.  
    [workarounds]
  93.  
    [wsgi]
  94.  
    [xenserver]
  95.  
    [xvp]
  96.  
    [zvm]
学新通
  1.  
    [root@compute ~]# egrep -c '(vmx|svm)' /proc/cpuinfo //返回值为0,进行下一步,如果为1,重新检查配置文件是否修改正确
  2.  
    0

启动

  1.  
    [root@compute ~]# systemctl start libvirtd.service openstack-nova-compute.service
  2.  
    [root@compute ~]# systemctl enable libvirtd.service openstack-nova-compute.service

测试:

[root@controller~(keystone_admin)]#nova service-list

学新通

安装neutron网络服务

controller节点配置

安装neutron服务

[root@controller ~]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables

创建neutron数据库

  1.  
    [root@controller ~]# mysql -uroot -p123456
  2.  
    MariaDB [(none)]> CREATE DATABASE neutron;
  3.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';
  4.  
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfggkjk
系列文章
更多 icon
同类精品
更多 icon
继续加载