安装软件包
yum install openstack-cloudkitty-api openstack-cloudkitty-processor openstack-cloudkitty-ui -y
修改配置文件
/etc/cloudkitty/cloudkitty.conf
[DEFAULT]
verbose = true
debug = false
log_dir = /var/log/cloudkitty
transport_url = rabbit://openstack:openstack@controller
auth_strategy = keystone
[keystone_authtoken]
auth_section = ks_auth
[ks_auth]
www_authenticate_uri = http://controller:5000
auth_type = password
auth_protocol = http
auth_url = http://controller:5000/v3
identity_uri = http://controller:5000/
username = cloudkitty
password = 123456
project_name = service
user_domain_name = default
project_domain_name = default
region_name = RegionOne
[database]
connection = mysql+pymysql://cloudkitty:123456@controller/cloudkitty
[storage]
version = 2
backend = influxdb
[storage_influxdb]
username = cloudkitty
password = 123456
database = cloudkitty
host = controller
[fetcher]
backend = gnocchi
[fetcher_gnocchi]
auth_section = ks_auth
region_name = RegionOne
[collect]
collector = gnocchi
[collector_gnocchi]
auth_section = ks_auth
region_name = RegionOne
因为后端存储用到了influxdb所以安装配置influxdb
yum install -y wget
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
yum localinstall influxdb-1.8.0.x86_64.rpm -y
systemctl start influxdb.service
influx
# 创建数据库
create database "cloudkitty"
# 创建管理员用户
create user "cloudkitty" with password '123456' with all privileges
将cloudkitty集成到Keystone中
openstack user create --domain default --password 123456 cloudkitty
openstack role add --project service --user cloudkitty admin
openstack service create rating --name cloudkitty --description "OpenStack Rating Service"
openstack endpoint create rating --region RegionOne public http://controller:8889
openstack endpoint create rating --region RegionOne internal http://controller:8889
openstack endpoint create rating --region RegionOne admin http://controller:8889
数据库操作
# 创建数据库的时候这里要设置编码格式为gbk
mysql -uroot -p123456 -e "CREATE DATABASE cloudkitty default character set gbk;"
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON cloudkitty.* TO 'cloudkitty'@'localhost' IDENTIFIED BY '123456';"
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON cloudkitty.* TO 'cloudkitty'@'%' IDENTIFIED BY '123456';"
初始化数据库
cloudkitty-storage-init
数据库迁移
cloudkitty-dbsync upgrade
修改服务文件,cloudkitty默认监听的是8000端口,但官方描述的是8889。修改服务文件,添加–port 8889参数
/usr/lib/systemd/system/cloudkitty-api.service
ExecStart=/usr/bin/cloudkitty-api --port 8889 -- --logfile /var/log/cloudkitty/api.log --config-file /etc/cloudkitty/cloudkitty.conf
启用服务
systemctl enable cloudkitty-api cloudkitty-processor
systemctl start cloudkitty-api cloudkitty-processor