openstack安装

版本centos7.2  openstack版本newton

使用两个节点controllercomputer

ip地址为192.168.109.7与192.168.109.6

1.准备工作

关闭防火墙

# systemctl stop firewalld.service 

# systemctl disable firewalld.service 


关闭selinux

#vi /etc/selinux/config

将SELINUX改为disabled

/usr/sbin/sestatus -v 重启后查看状态


安装常用命令

# yum install net-tools wget vim ntpdate bash-completion -y


添加源

#cd /etc/yum.repos.d

#rm -rf *

#  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


更改hostname

#hostnamectl set-hostname controller


配置hosts

#vim /etc/hosts

192.168.109.7 controller


NTP同步时间

 #ntpdate cn.pool.ntp.org 

#date 查看时间


2.安装mariadb

安装数据库

 # yum install mariadb mariadb-server python2-PyMySQL


创建并编辑配置mariadb

#vim /etc/my.cnf.d/mariadb-openstack.cnf

在[mysqld]区块添加如下内容

[mysqld]

default-storage-engine = innodb 

innodb_file_per_table 

collation-server = utf8_general_ci 

init-connect = 'SET NAMES utf8' 

character-set-server = utf8 

bind-address=192.168.109.7


启动数据库并设置开机启动

#systemctl enable mariadb.service

#systemctl restart mariadb.service

#systemctl status mariadb.service

#systemctl list-unit-files | grep mariadb.service


设置密码

mysql_secure_installation


3.安装RabbitMQ

每个节点都安装erlang

#yum install -y erlang


每个节点安装RabbitMQ

#yum install -y rabbitmq-server


每个节点都启动rabbitmq并设置开机启动

#systemctl enable rabbitmq-server.service

#systemctl restart rabbitmq-server.service

#systemctl status rabbitmq-server.service

#systemctl list-unit-files | grep rabbitmq-server.service


创建openstack

#rabbitmqctl add_user openstack bgops098


赋予权限

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

# rabbitmqctl set_user_tags openstack administrator 

# rabbitmqctl list_users




查看端口是否是5672

#netstat -ntlp | grep 5672


查看rabbitmq插件

# /usr/lib/rabbitmq/bin/rabbitmq-plugins list


打开相关插件

# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent


重启服务

#systemctl restart rabbitmq-server


查看状态 端口号15672 默认密码guest/guest 也可以用openstack/bgops098


(相关命令,非必须)创建用户

# rabbitmqctl add_user mqadmin mqadmin 

# rabbitmqctl set_user_tags mqadmin administrator 

# rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"

更改密码

# rabbitmqctl change_password guest bgops098 



3.安装keystone

配置源

cd /etc/yum.repos.d

vim openstack.repo

添加

[openstack] 

name=newton 

baseurl= http://mirror.centos.org/centos/7/cloud/x86_64/openstack-newton/ 

enabled=1 

gpgcheck=0


创建keystone数据库

#mysql -u  root -p

# CREATE DATABASE keystone;


创建用户赋予权限

 #GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'bgops098'; 

# GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'bgops098';


安装keystone和memcached

# yum  -y install openstack-keystone httpd mod_wsgi python-openstackclient memcached python-memcached openstack-utils


启动memcached

# systemctl enable memcached.service 

# systemctl restart memcached.service 

# systemctl status memcached.service


配置/etc/keystone/keystone.conf文件

# openssl rand -hex 10                首先需要先产生一个随机数,用作初始配置时的管理员令牌 

# ADMIN_TOKEN=929c32c35c315b694536                这个字符串就是上面openssl随机生成的 

# cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak 

# >/etc/keystone/keystone.conf 

# openstack-config --set  /etc/keystone/keystone.conf DEFAULT debug false 

# openstack-config --set  /etc/keystone/keystone.conf DEFAULT verbose true 

# openstack-config --set  /etc/keystone/keystone.conf DEFAULT admin_token 929c32c35c315b694536 

# openstack-config --set  /etc/keystone/keystone.conf DEFAULT admin_endpoint http://controller:35357 

# openstack-config --set  /etc/keystone/keystone.conf DEFAULT public_endpoint http://controller:5000 

# openstack-config --set  /etc/keystone/keystone.conf database connection mysql://keystone:bgops098@controller/keystone

# openstack-config --set  /etc/keystone/keystone.conf oslo_messaging_rabbit rabbit_host controller 

# openstack-config --set  /etc/keystone/keystone.conf oslo_messaging_rabbit rabbit_port 5672 

# openstack-config --set  /etc/keystone/keystone.conf oslo_messaging_rabbit rabbit_userid openstack 

# openstack-config --set  /etc/keystone/keystone.conf oslo_messaging_rabbit rabbit_password bgops098

# openstack-config --set  /etc/keystone/keystone.conf cache backend oslo_cache.memcache_pool 

# openstack-config --set  /etc/keystone/keystone.conf cache enabled true 

# openstack-config --set  /etc/keystone/keystone.conf cache memcache_servers controller:11211 

# openstack-config --set  /etc/keystone/keystone.conf memcache servers controller:11211 

# openstack-config --set  /etc/keystone/keystone.conf token expiration 3600 

# openstack-config --set  /etc/keystone/keystone.conf token provider fernet


配置httpd.conf和memcached

# sed  -i  "s/#ServerName www.example.com:80/ServerName controller/" /etc/httpd/conf/httpd.conf 

# sed -i  's/OPTIONS*.*/OPTIONS="-l 127.0.0.1,::1,192.168.109.7"/' /etc/sysconfig/memcached


配置keystone

创建文件

vim /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>



数据库同步

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


初始化fernet

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

# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone


启动httpd

systemctl enable httpd.service

systemctl restart httpd.service

systemctl status httpd.service

systemctl list-unit-files | grep httpd.service


创建admin用户

# keystone-manage bootstrap \ 

 --bootstrap-password bgops098

 --bootstrap-username admin \ 

--bootstrap-project-name admin \ 

 --bootstrap-role-name admin \ 

 --bootstrap-service-name keystone \ 

--bootstrap-region-id RegionOne \ 

 --bootstrap-admin-url http://controller:35357/v3 \ 

--bootstrap-internal-url http://controller:35357/v3 \ 

  --bootstrap-public-url http://controller:5000/v3 


验证

# openstack project list --os-username admin --os-project-name admin --os-user-domain-id default --os-project-domain-id  default --os-identity-api-version 3 --os-auth-url http://controller:5000 --os-password bgops098

创建admin用户环境变量

# vim /root/admin-openrc 

export OS_USER_DOMAIN_ID=default 

export OS_PROJECT_DOMAIN_ID=default 

export OS_USERNAME=admin

export OS_PROJECT_NAME=admin 

export OS_PASSWORD=bgops098

export OS_IDENTITY_API_VERSION=3 

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


创建service项目

# source /root/admin-openrc 

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


创建demo项目

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


创建demo用户

# openstack user create --domain default  demo  --password bgops098


创建user角色将demo用户赋予user角色 

# openstack role create user 

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


验证

# unset OS_TOKEN OS_URL 

# 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 --os-password bgops098


# 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 --os-password bgops098




4.安装glance

创建glance数据库

# CREATE DATABASE glance;






声明:因为软件超过50M,所以分成了两部分,请搜索openstack安装包(二) 安装包二里面会有一键安装一键卸载的说明,敬请留意 openstack-rpm包信息: augeas-libs-1.0.0-5.el6_5.1.x86_64.rpm boost-program-options-1.41.0-18.el6.x86_64.rpm btrfs-progs-0.20-0.2.git91d9eec.el6.x86_64.rpm celt051-0.5.1.3-0.el6.x86_64.rpm crudini-0.3-2.el6.noarch.rpm cvs-1.11.23-16.el6.x86_64.rpm cyrus-sasl-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64.rpm cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64.rpm Django14-1.4.8-1.el6.noarch.rpm dnsmasq-utils-2.48-13.el6.x86_64.rpm ebtables-2.0.9-6.el6.x86_64.rpm febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm gettext-0.17-16.el6.x86_64.rpm glusterfs-api-3.4.0.57rhs-1.el6_5.x86_64.rpm glusterfs-libs-3.4.0.57rhs-1.el6_5.x86_64.rpm gnutls-2.8.5-13.el6_5.x86_64.rpm gnutls-utils-2.8.5-13.el6_5.x86_64.rpm gpxe-roms-qemu-0.9.7-6.10.el6.noarch.rpm hivex-1.3.3-4.2.el6.x86_64.rpm ipmitool-1.8.11-16.el6.x86_64.rpm iscsi-initiator-utils-6.2.0.873-10.el6.x86_64.rpm keyutils-1.4-4.el6.x86_64.rpm krb5-libs-1.10.3-15.el6_5.1.x86_64.rpm libcgroup-0.40.rc1-5.el6_5.1.x86_64.rpm libconfig-1.3.2-1.1.el6.x86_64.rpm libdrm-2.4.45-2.el6.x86_64.rpm libevent-1.4.13-4.el6.x86_64.rpm libgssglue-0.1-11.el6.x86_64.rpm libguestfs-1.20.11-2.el6.x86_64.rpm libguestfs-tools-c-1.20.11-2.el6.x86_64.rpm libjpeg-turbo-1.2.1-3.el6_5.x86_64.rpm libtirpc-0.2.1-6.el6_5.1.x86_64.rpm libvirt-0.10.2-29.el6_5.7.x86_64.rpm libvirt-client-0.10.2-29.el6_5.7.x86_64.rpm libvirt-python-0.10.2-29.el6_5.7.x86_64.rpm lzo-2.03-3.1.el6.x86_64.rpm lzop-1.02-0.9.rc1.el6.x86_64.rpm memcached-1.4.4-3.el6.x86_64.rpm mod_wsgi-3.2-3.el6.x86_64.rpm mysql-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.x86_64.rpm MySQL-python-1.2.3-0.3.c1.1.el6.x86_64.rpm mysql-server-5.1.73-3.el6_5.x86_64.rpm nc-1.84-22.el6.x86_64.rpm netcf-libs-0.1.9-4.el6_5.2.x86_64.rpm netpbm-10.47.05-11.el6.x86_64.rpm netpbm-progs-10.47.05-11.el6.x86_64.rpm nfs-utils-1.2.3-39.el6.x86_64.rpm nfs-utils-lib-1.1.5-6.el6.x86_64.rpm novnc-0.4-8.el6.noarch.rpm ntp-4.2.6p5-1.el6.centos.x86_64.rpm ntpdate-4.2.6p5-1.el6.centos.x86_64.rpm numactl-2.0.7-8.el6.x86_64.rpm numad-0.5-9.20130814git.el6.x86_64.rpm openssl-1.0.1e-16.el6_5.7.x86_64.rpm openstack-dashboard-2013.2.3-1.el6.noarch.rpm openstack-glance-2013.2.3-2.el6.noarch.rpm openstack-keystone-2013.2.3-3.el6.noarch.rpm openstack-nova-2013.2.3-1.el6.noarch.rpm openstack-nova-api-2013.2.3-1.el6.noarch.rpm openstack-nova-cells-2013.2.3-1.el6.noarch.rpm openstack-nova-cert-2013.2.3-1.el6.noarch.rpm openstack-nova-common-2013.2.3-1.el6.noarch.rpm openstack-nova-compute-2013.2.3-1.el6.noarch.rpm openstack-nova-conductor-2013.2.3-1.el6.noarch.rpm openstack-nova-console-2013.2.3-1.el6.noarch.rpm openstack-nova-network-2013.2.3-1.el6.noarch.rpm openstack-nova-novncproxy-2013.2.3-1.el6.noarch.rpm openstack-nova-objectstore-2013.2.3-1.el6.noarch.rpm openstack-nova-scheduler-2013.2.3-1.el6.noarch.rpm openstack-utils-2013.2-2.el6.noarch.rpm p11-kit-0.18.5-2.el6_5.2.x86_64.rpm perl-DBD-MySQL-4.013-3.el6.x86_64.rpm perl-DBI-1.609-4.el6.x86_64.rpm perl-hivex-1.3.3-4.2.el6.x86_64.rpm polkit-0.96-5.el6_4.x86_64.rpm pyOpenSSL-0.13.1-1.el6.x86_64.rpm PyPAM-0.5.0-12.el6.x86_64.rpm pysendfile-2.0.0-3.el6.x86_64.rpm python-amqplib-1.0.2-1.el6.rf.noarch.rpm python-anyjson-0.3.1-2.el6.rf.noarch.rpm python-argparse-1.2.1-2.el6.noarch.rpm python-babel-0.9.4-5.1.el6.noarch.rpm python-backports-1.0-4.el6.x86_64.rpm python-backports-ssl_match_hostname-3.4.0.2-1.el6.noarch.rpm python-boto-2.27.0-1.el6.noarch.rpm python-ceilometerclient-1.0.8-1.el6.noarch.rpm python-chardet-2.0.1-1.el6.rf.noarch.rpm python-cheetah-2.4.1-1.el6.x86_64.rpm python-cinderclient-1.0.7-2.el6.noarch.rpm python-cliff-1.4.4-1.el6.noarch.rpm python-cmd2-0.6.4-7.el6.noarch.rpm python-crypto-2.0.1-22.el6.x86_64.rpm python-dateutil-1.4.1-6.el6.noarch.rpm python-django-appconf-0.5-3.el6.noarch.rpm python-django-compressor-1.3-2.el6.noarch.rpm python-django-horizon-2013.2.3-1.el6.noarch.rpm python-django-openstack-auth-1.1.2-1.el6.noarch.rpm python-dogpile-cache-0.5.0-1.el6.noarch.rpm python-dogpile-core-0.4.1-1.el6.noarch.rpm python-eventlet-0.9.17-2.el6.noarch.rpm python-glance-2013.2.3-2.el6.noarch.rpm python-glanceclient-0.12.0-1.el6.noarch.rpm python-greenlet-0.3.1-12.el6.x86_64.rpm python-heatclient-0.2.6-2.el6.noarch.rpm python-httplib2-0.7.7-1.el6.noarch.rpm python-iso8601-0.1.8-1.el6.noarch.rpm python-jinja2-26-2.6-2.el6.noarch.rpm python-jsonpatch-1.2-2.el6.noarch.rpm python-jsonpointer-1.0-3.el6.noarch.rpm python-jsonschema-2.3.0-1.el6.noarch.rpm python-keyring-0.7-1.el6.noarch.rpm python-keystone-2013.2.3-3.el6.noarch.rpm python-keystoneclient-0.7.1-2.el6.noarch.rpm python-kombu-1.4.1-1.el6.rf.noarch.rpm python-ldap-2.3.10-1.el6.x86_64.rpm python-libguestfs-1.20.11-2.el6.x86_64.rpm python-lockfile-0.8-3.el6.noarch.rpm python-lxml-2.2.3-1.1.el6.x86_64.rpm python-markdown-2.0.1-3.1.el6.noarch.rpm python-memcached-1.53-1.el6.noarch.rpm python-migrate-0.7.2-8.el6.noarch.rpm python-netaddr-0.7.5-4.el6.noarch.rpm python-neutronclient-2.3.4-1.el6.noarch.rpm python-nova-2013.2.3-1.el6.noarch.rpm python-novaclient-2.16.0-2.el6.noarch.rpm python-oauth2-1.5.211-5.el6.noarch.rpm python-ordereddict-1.1-2.el6.noarch.rpm python-oslo-config-1.2.1-1.el6.noarch.rpm python-paramiko-1.7.5-2.1.el6.noarch.rpm python-passlib-1.5.3-1.el6.noarch.rpm python-paste-1.7.4-2.el6.noarch.rpm python-paste-deploy1.5-1.5.0-5.el6.noarch.rpm python-pbr-0.5.21-2.el6.noarch.rpm python-pip-1.3.1-4.el6.noarch.rpm python-prettytable-0.7.2-1.el6.noarch.rpm python-pyasn1-0.0.12a-1.el6.noarch.rpm python-pygments-1.1.1-1.el6.noarch.rpm python-pyparsing-1.5.6-2.el6.rf.noarch.rpm python-qpid-0.18-5.el6_4.noarch.rpm python-requests-1.1.0-4.el6.noarch.rpm python-routes1.12-1.12.3-4.el6.noarch.rpm python-saslwrapper-0.18-1.el6_3.x86_64.rpm python-setuptools-0.6.10-3.el6.noarch.rpm python-simplejson-2.0.9-3.1.el6.x86_64.rpm python-six-1.5.2-1.el6.noarch.rpm python-sqlalchemy0.7-0.7.8-1.el6.x86_64.rpm python-stevedore-0.14-1.el6.noarch.rpm python-swiftclient-2.0.2-1.el6.noarch.rpm python-tempita-0.4-2.el6.noarch.rpm python-troveclient-0.1.4-3.el6.noarch.rpm python-urllib3-1.5-7.el6.noarch.rpm python-versiontools-1.9.1-3.el6.noarch.rpm python-warlock-1.0.1-1.el6.noarch.rpm python-webob-1.2.3-4.el6.noarch.rpm python-websockify-0.5.1-1.el6.noarch.rpm python-yaml-3.09-3.el6.rf.x86_64.rpm pytz-2010h-2.el6.noarch.rpm pyxattr-0.5.0-1.el6.x86_64.rpm qemu-img-0.12.1.2-2.415.el6_5.8.x86_64.rpm qemu-kvm-0.12.1.2-2.415.el6_5.8.x86_64.rpm qpid-cpp-client-0.18-18.el6.x86_64.rpm qpid-cpp-server-0.18-18.el6.x86_64.rpm radvd-1.6-1.el6.x86_64.rpm repodata rpcbind-0.2.0-11.el6.x86_64.rpm saslwrapper-0.18-1.el6_3.x86_64.rpm scrub-2.2-1.el6.x86_64.rpm seabios-0.6.1.2-28.el6.x86_64.rpm sgabios-bin-0-0.3.20110621svn.el6.noarch.rpm spice-server-0.12.4-6.el6_5.1.x86_64.rpm tunctl-1.5-3.el6.x86_64.rpm usbredir-0.5.1-1.el6.x86_64.rpm vgabios-0.6b-3.7.el6.noarch.rpm yajl-1.0.7-3.el6.x86_64.rpm zlib-1.2.3-29.el6.x86_64.rpm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值