sed -i '/-l 127.0.0.1/c -l 192.168.137.60' /etc/memcached.conf
sudo service memcached restart
三、部署OpenStack组件
1、部署keystone准入服务部署
创建keystone库,并授权
Bash CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
安装keystone
Bash sudo apt -y install keystone
修改keystone配置
Bash cp -a /etc/keystone/{keystone.conf,keystone.conf.bak} cat /etc/keystone/keystone.conf.bak |grep -Ev "^$|^#" >/etc/keystone/keystone.conf
vim /etc/keystone/keystone.conf [database] connection = mysql+pymysql://keystone:keystone@controller/keystone [token] provider = fernet
同步数据库
Bash su -s /bin/sh -c "keystone-manage db_sync" keystone
Bash openstack domain create --description "An Example Domain" example openstack project create --domain default --description "Service Project" service openstack user create --domain default --password myuser myuser openstack role create myrole openstack role add --project myproject --user myuser myrole
验证keystone是否正常配置
Bash openstack token issue
2、glance镜像服务部署
创建库并授权
Bash CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
创建glance用户和项目,并进行角色绑定
Bash openstack user create --domain default --password glance glance openstack role add --project service --user glance admin openstack service create --name glance --description "image service" image
Bash su -s /bin/sh -c "glance-manage db_sync" glance
重启glance服务
Bash systemctl restart glance-api
验证glance服务是否安装
Bash openstack image list
返回空行即说明安装成功
3、部署placement服务
创建placement库,并授权
Bash CREATE DATABASE placement; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement'; GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'placement';
创建placement项目、用户并绑定角色
Bash openstack user create --domain default --password placement placement openstack role add --project service --user placement admin openstack service create --name placement --description "Placement API" placement
Bash CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova'; CREATE DATABASE nova_api; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'nova'; CREATE DATABASE nova_cell0; GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
创建nova项目、用户并进行角色绑定
Bash openstack user create --domain default --password nova nova openstack role add --project service --user nova admin openstack service create --name nova --description "OpenStack Compute" compute
Bash su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova su -s /bin/sh -c "nova-manage db sync" nova
Bash scp /etc/nova/{nova-compute.conf,nova.conf} compute2:/etc/nova/ sed -i '/192.168.137.61/ c 192.168.137.62' /etc/nova/nova.conf
重启nova-compute服务
Bash systemctl enable --now nova-compute
验证nova-compute是否加入加入集群
Bash openstack compute service list --service nova-compute +--------------------------------------+--------------+------------+------+---------+-------+----------------------------+ | ID | Binary | Host | Zone | Status | State | Updated At | +--------------------------------------+--------------+------------+------+---------+-------+----------------------------+ | cfbfd903-b19d-4525-a7cb-911c1fd967ea | nova-compute | controller | nova | enabled | up | 2024-04-19T02:25:37.000000 | | 00a0c02e-6365-451c-b3a8-c3cb2138fb7e | nova-compute | compute1 | nova | enabled | up | 2024-04-19T02:25:36.000000 | | 0fffb212-2cb4-48f6-9bfb-24f00948a773 | nova-compute | compute2 | nova | enabled | up | 2024-04-19T02:25:35.000000 | +--------------------------------------+--------------+------------+------+---------+-------+----------------------------+
6、neutron服务安装(控制节点)
创建neutron库并授权
Bash CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'neutron'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'neutron';
创建neutron项目、用户并进行角色绑定
Bash openstack user create --domain default --password neutron neutron openstack role add --project service --user neutron admin openstack service create --name neutron --description "OpenStack Networking" network
Bash CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinder';
创建cinder服务、用户并进行角色绑定
Bash openstack user create --domain default --password cinder cinder openstack role add --project service --user cinder admin openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
Bash openstack volume service list +------------------+--------------+------+---------+-------+----------------------------+ | Binary | Host | Zone | Status | State | Updated At | +------------------+--------------+------+---------+-------+----------------------------+ | cinder-scheduler | controller | nova | enabled | up | 2024-04-19T04:26:09.000000 | | cinder-volume | compute1@lvm | nova | enabled | up | 2024-04-19T04:26:05.000000 | | cinder-volume | compute2@lvm | nova | enabled | up | 2024-04-19T04:26:11.000000 | +------------------+--------------+------+---------+-------+----------------------------+
Bash systemctl restart cinder.conf
11、部署Skyline管理服务
创建skyline库,并授权
Bash CREATE DATABASE skyline; GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'localhost' IDENTIFIED BY 'skyline'; GRANT ALL PRIVILEGES ON skyline.* TO 'skyline'@'%' IDENTIFIED BY 'skyline';
创建skyline用户,并进行角色绑定
Bash openstack user create --domain default --password skyline skyline
openstack role add --project service --user skyline admin
创建skyline.yaml配置文件
Bash mkdir /etc/skyline/ vim /etc/skyline/skyline.yaml
Bash docker run -d --name skyline_bootstrap -e KOLLA_BOOTSTRAP="" -v /etc/skyline/skyline.yaml:/etc/skyline/skyline.yaml --net=host 99cloud/skyline:latest #确保docker ps -a 中该容器退出码为0,若不为0,查看容器日志排查
启动skyline容器
Bash docker rm -f skyline_bootstrap docker run -d --name
验证skyline服务是否启动
查看容器是否正常启动
Bash docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3c5a70834e30 99cloud/skyline:latest "start_service.sh" 14 hours ago Up 30 minutes skyline