记一次openstack安装

1.ntp时间同步、安装openstackbao

controller:
yum install -y chrony
vim /etc/chrony.conf

systemctl enable chronyd.service
systemctl start chronyd.service

datanode:

yum install -y chrony
vim /etc/chrony.conf

systemctl enable chronyd.service
systemctl start chronyd.service
安装openstack包
yum install -y http://cbs.centos.org/kojifiles/packages/centos-release-openstack-mitaka/1/5.el7/noarch/centos-release-openstack-mitaka-1-5.el7.noarch.rpm --skip-broken
yum install -y python-openstackclient
yum install -y openstack-selinux --skip-broken
2.安装数据库
yum install -y mariadb mariadb-server python2-PyMySQL
cat > /etc/my.cnf.d/openstack.cnf << EOF
[mysqld]
#bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF

systemctl enable mariadb.service
systemctl start mariadb.service

mysql_secure_installation
pass:123456 option:y

3.消息队列
yum install -y rabbitmq-server
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmqctl status
cat /var/log/rabbitmq
echo “127.0.0.1 echo $HOSTNAME|awk -F'.' '{ print $1}' $HOSTNAME”>>/etc/hosts
echo "ifconfig eth0|grep 'inet '|awk '{ print $2}' echo $HOSTNAME|awk -F'.' '{ print $1}' $HOSTNAME">>/etc/hosts
添加 openstack 用户:
rabbitmqctl add_user openstack openstack
openstack用户配置写和读权限:
rabbitmqctl set_permissions openstack “." ".” “.*”
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server.service
lsof -i:15672

4.初始化数据库
5.安装keystone
安装包
openssl rand -hex 10
yum install -y openstack-keystone httpd mod_wsgi
vim /etc/keystone/keystone.conf
[DEFAULT]

admin_token = e802430da02061e0a440
[database]

connection = mysql+pymysql://keystone:keystone@192.168.0.22/keystone

初始化身份认证服务的数据库:
su -s /bin/sh -c “keystone-manage db_sync” keystone
初始化Fernet keys:
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
配置 Apache HTTP 服务器:
vim /etc/httpd/conf/httpd.conf
cat >/etc/httpd/conf.d/wsgi-keystone.conf << EOF
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 *: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>
EOF

systemctl enable httpd.service
systemctl start httpd.service
setenforce 0

export OS_TOKEN=e802430da02061e0a440
export OS_URL=http://192.168.0.22:35357/v3
export OS_IDENTITY_API_VERSION=3

openstack service create
–name keystone --description “OpenStack Identity” identity

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

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

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

openstack domain create --description “Default Domain” default
openstack project create --domain default
–description “Admin Project” admin
openstack user create --domain default
–password-prompt admin
//password:admin

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

openstack project create --domain default
–description “Service Project” service
openstack project create --domain default
–description “Demo Project” demo
openstack user create --domain default
–password-prompt demo
//password:admin demo

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

vim init_service_user.sh
#!/bin/bash
export OS_TOKEN=e802430da02061e0a440
export OS_URL=http://192.168.0.22:35357/v3
export OS_IDENTITY_API_VERSION=3

create_user(){
local username=$1
local paasword=$2
echo “create $username start”
/usr/bin/expect << EOF
spawn openstack user create --domain default --password-prompt KaTeX parse error: Expected '}', got 'EOF' at end of input: …sword:" {send "paasword\r"; exp_continue}
“Repeat User Password:” {send “$paasword\r”}
}
expect eof
EOF
openstack role add --project service --user $username admin
echo “create $username end”
}
create_user glance glance
create_user nova nova
create_user neutron neutron
create_user cinder cinder

6.安装glance
创建glance服务实体:
openstack service create --name glance
–description “OpenStack Image” image
创建镜像服务的 API 端点:
openstack endpoint create --region RegionOne
image public http://192.168.0.22:9292
openstack endpoint create --region RegionOne
image internal http://192.168.0.22:9292
openstack endpoint create --region RegionOne
image admin http://192.168.0.22:9292

安装软件包:
yum install -y openstack-glance

vim /etc/glance/glance-api.conf

vim /etc/glance/glance-registry.conf

写入镜像服务数据库:
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

6.安装nova

安装并配置控制节点:
yum install -y openstack-nova-api openstack-nova-conductor
openstack-nova-console openstack-nova-novncproxy
openstack-nova-scheduler

创建 nova 服务实体:
openstack service create --name nova
–description “OpenStack Compute” compute

创建 Compute 服务 API 端点 :
openstack endpoint create --region RegionOne
compute public http://192.168.0.22:8774/v2.1/%(tenant_id)s
openstack endpoint create --region RegionOne
compute internal http://192.168.0.22:8774/v2.1/%(tenant_id)s
openstack endpoint create --region RegionOne
compute admin http://192.168.0.22:8774/v2.1/%(tenant_id)s

vim /etc/nova/nova.conf

同步Compute 数据库:
su -s /bin/sh -c “nova-manage api_db sync” nova
su -s /bin/sh -c “nova-manage db sync” nova
启动 Compute 服务并将其设置为随系统启动:
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 -y openstack-nova-compute
vim /etc/nova/nova.conf

启动计算服务及其依赖,并将其配置为随系统自动启动:
systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ableyang~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值