1. 程式人生 > >兩小時openstack環境搭建(keystone)

兩小時openstack環境搭建(keystone)

一、新建虛擬機器4g記憶體2cpu,unbutu系統

安裝並設定時間同步服務
apt update
apt install chrony

vim /etc/chrony/chrony.conf
兩小時openstack環境搭建(keystone)

service chrony restart
compute上
apt update
apt install chrony
vim /etc/chrony/chrony.conf
兩小時openstack環境搭建(keystone)
service chrony restart
chronyc sources
回到controller
chronyc sources
在兩臺虛擬機器上
apt install software-properties-common
add-apt-repository cloud-archive:queens

apt update && apt dist-upgrade
apt install python-openstackclient

安裝並配置mysql資料庫(controller上)
apt install mariadb-server python-pymysql
vim /etc/mysql/mariadb.conf.d/99-openstack.cnf
[mysqld]
bind-address = 10.0.0.11

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

service mysql restart
mysql_secure_installation 回車 更改一下root密碼 一路回車即可

mysql
exit

apt install rabbitmq-server
建立openstack使用者
rabbitmqctl add_user openstack 123456

rabbitmqctl set_permissions openstack "." "." ".*"
兩小時openstack環境搭建(keystone)
apt install memcached python-memcache
vim /etc/memcached.conf
兩小時openstack環境搭建(keystone)

service memcached restart
groupadd --system etcd
useradd --home-dir "/var/lib/etcd" \
--system \
--shell /bin/false \
-g etcd \
etcd

兩小時openstack環境搭建(keystone)

mkdir -p /etc/etcd
chown etcd:etcd /etc/etcd
mkdir -p /var/lib/etcd
chown etcd:etcd /var/lib/etcd

.

ETCD_VER=v3.2.7
rm -rf /tmp/etcd && mkdir -p /tmp/etcd
curl -L \
https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz \
-o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz \
-C /tmp/etcd --strip-components=1
cp /tmp/etcd/etcd /usr/bin/etcd
cp /tmp/etcd/etcdctl /usr/bin/etcdctl

兩小時openstack環境搭建(keystone)

vim /lib/systemd/system/etcd.service

[Unit]
After=network.target
Description=etcd - highly-available key value store

[Service]
LimitNOFILE=65536
Restart=on-failure
Type=notify
ExecStart=/usr/bin/etcd --config-file /etc/etcd/etcd.conf.yml
User=etcd

[Install]
WantedBy=multi-user.target

systemctl enable etcd
systemctl start etcd
systemctl status etcd
兩小時openstack環境搭建(keystone)

安裝並配置keyston服務

mysql
MariaDB [(none)]> CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone. TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.
TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';

兩小時openstack環境搭建(keystone)

apt install keystone apache2 libapache2-mod-wsgi

ufw disable
兩小時openstack環境搭建(keystone)
vim /etc/keystone/keystone.conf
修改下面兩項
connection = mysql+pymysql://keystone:[email protected]/keystone
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:5000/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne

兩小時openstack環境搭建(keystone)

vim /etc/apache2/apache2.conf
ServerName controller

service apache2 restart
vim default-env

export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

mv default-env /home/lxc/
chown lxc:lxc /home//lxc//default-env