openstack
(controller、compute)两个节点的标红色:
1、openssl rand -hex 10
d0aeac158bc3ba995e68
2、vi /etc/sysconfig/network-script/ifcg-ens333
Ip、gateway、dns
3、vi /etc/hosts
控制端 Ip 计算机名
计算节点 Ip 计算机名
4、test 连通性
5、NTP
Yum install –y chrony
Vi /etc/chrony.conf
Server 控制端 IP iburst
Allow 控制端同网段
重启时间服务 systemctl restart chronyd
6、test 同步情况
7、安装 OpenStack 安装包
yum install centos-release-openstack-pike
yum install -y
https://repos.fedorapeople.org/repos/openstack/openstack-pike/rdo-rel
ease-pike-1.noarch.rpm
yum upgrade
yum install python-openstackclient
yum install openstack-selinux
8、安装数据库
yum install mariadb mariadb-server python2-PyMySQL
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 服务端地址
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
systemctl enable mariadb.service
systemctl start mariadb.service
设置合适的数据库 root 用户密码 mysql_secure_installation
9、消息队列
yum install rabbitmq-server
systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service
rabbitmq-plugins enable rabbitmq_management //启动 rabbitmq 服务,
(如起不来是因为无法解析长域名格式,dns 需改短域名)
netstat -an|grep :15672
rabbitmq-plugins list
增加用户 rabbitmqctl add_user openstack RABBIT_PASS 设置为
123456
设置用户读写权限 rabbitmqctl set_permissions openstack ".*"
".*" ".*"
10、mencached
yum install memcached python-memcached
vi /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1,::1,controller"
systemctl enable memcached.service
systemctl start memcached.service
验证
http://192.168.19.244:15672
默认到用户名和密码是 guest,更改 openstack 帐号密码
11、ETCD
yum install etcd
vi /etc/etcd/etcd.conf
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.19.244:2380"
ETCD_LISTEN_CLIENT_URLS="http://192.168.19.244:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.19.2
44:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.19.244:2379"
ETCD_INITIAL_CLUSTER="controller=http://192.168.19.24
4:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
systemctl enable etcd
systemctl start etcd
12、安装 opentstack service---pike
Keystone installation
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO
'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS'; 此句 loaclhost
是否应写为 controller
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO
'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
yum install openstack-keystone httpd mod_wsgi
vi /etc/keystone/keystone.conf
[database]
connection =
mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[token]
provider = fernet
su -s /bin/sh -c "keystone-manage db_sync" keystone
keystone-manage fernet_setup --keystone-user keystone
--keystone-group keystone
keystone-manage credential_setup --keystone-user keystone
--keystone-group keystone
keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
Vi /etc/httpd/conf/httpd.conf
ServerName controller
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
systemctl enable httpd.service
systemctl start httpd.service
创建 administrator account
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
yum install -y openstack-utils
创建 domain、projects、users、roles
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 设置密码 123456
openstack role create user
openstack role add --project demo --user demo user
验证
unset OS_AUTH_URL OS_PASSWORD
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
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 密码 123456
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=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=DEMO_PASS 密码 123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
验证
. admin-openrc
openstack token issue
Glance installation
创建数据库
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO
'glance'@'localhost' \
设置为 controller
IDENTIFIED BY 'GLANCE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO
'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';
. admin-openrc
openstack user create --domain default --password-prompt glance
openstack role add --project service --user glance admin
openstack service create --name glance \
--description "OpenStack Image" image
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
yum install openstack-glance
vi /etc/glance/glance-api.conf
[database]
connection =
mysql+pymysql://glance:GLANCE_DBPASS@controller/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 = GLANCE_PASS
[paste_deploy]
flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
vi /etc/glance/glance-registry.conf
[database]
connection =
mysql+pymysql://glance:GLANCE_DBPASS@controller/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